elegance-js 2.1.37 → 3.0.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/README.md +90 -4
- 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 +48 -27
- 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 -163
- package/dist/compilation/compiler.js +0 -1164
- 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 -92
- 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
package/README.md
CHANGED
|
@@ -1,4 +1,90 @@
|
|
|
1
|
-
# Elegance
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
# Elegance
|
|
2
|
+
|
|
3
|
+
Elegance is a TypeScript framework for web applications. It provides file‑system routing, reactive state, server‑side rendering, and client‑side interactivity in a single codebase.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- Ridiculous speed: Up to ~24x faster build times compared to Next.JS, and up to ~1400x raw RPS on API Routes.
|
|
8
|
+
- Optimized: 4KB client runtime
|
|
9
|
+
- File‑system routing: pages and API endpoints are defined by the directory structure.
|
|
10
|
+
- TSX support: use TSX with no runtime overhead.
|
|
11
|
+
- Server & Client hybrid: You can write server & client-code in 1 file with no issues.
|
|
12
|
+
- Reactive: atoms and components with automatic dependency tracking.
|
|
13
|
+
- Dynamic rendering: opt into per‑request rendering or statically enumerate paths.
|
|
14
|
+
- Server Actions: Inline API routes into your page files for faster development times.
|
|
15
|
+
- Middleware: scoped request processing with the ability to pass data to downstream handlers.
|
|
16
|
+
- Built‑in bundling: code splitting and advanced dead‑code elimination (DCE).
|
|
17
|
+
- API routes: define `GET`, `POST`, `PUT`, `DELETE`, and `OPTIONS` handlers.
|
|
18
|
+
|
|
19
|
+
## Quick Start
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npx create-elegance-app my-app
|
|
23
|
+
cd my-app
|
|
24
|
+
npx elegance
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Visit `http://localhost:3000` to see the default page.
|
|
28
|
+
|
|
29
|
+
## Example
|
|
30
|
+
|
|
31
|
+
A simple counter:
|
|
32
|
+
|
|
33
|
+
```tsx
|
|
34
|
+
const counter = state(0);
|
|
35
|
+
|
|
36
|
+
export default function CounterPage() {
|
|
37
|
+
return div(
|
|
38
|
+
button({
|
|
39
|
+
onClick: () => counter.value++,
|
|
40
|
+
},
|
|
41
|
+
`Counter: ${counter.value}`
|
|
42
|
+
)
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
A reusable component version:
|
|
48
|
+
|
|
49
|
+
```tsx
|
|
50
|
+
const Counter = component({
|
|
51
|
+
atoms: {
|
|
52
|
+
counter: 0,
|
|
53
|
+
},
|
|
54
|
+
view(_, { counter }) {
|
|
55
|
+
return button({
|
|
56
|
+
onClick: () => counter.value++,
|
|
57
|
+
},
|
|
58
|
+
`Counter: ${counter.value}`
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
export default function Page() {
|
|
64
|
+
return Counter();
|
|
65
|
+
}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Project Structure
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
my-app/
|
|
72
|
+
├── pages/
|
|
73
|
+
│ ├── page.tsx # / (home)
|
|
74
|
+
│ ├── about/
|
|
75
|
+
│ │ └── page.tsx # /about
|
|
76
|
+
│ ├── api/
|
|
77
|
+
│ │ └── route.ts # /api/*
|
|
78
|
+
│ ├── [slug]/
|
|
79
|
+
│ │ └── page.tsx # dynamic routes
|
|
80
|
+
│ └── middleware.ts # global middleware
|
|
81
|
+
└── ...
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## Documentation
|
|
85
|
+
|
|
86
|
+
Full documentation is available via [Our Website](https://elegance.js.org/)
|
|
87
|
+
|
|
88
|
+
## License
|
|
89
|
+
|
|
90
|
+
MIT
|
package/bin/bootstrap.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { execSync } from "child_process";
|
|
4
|
+
import { cpSync, existsSync } from "fs";
|
|
5
|
+
import { join } from "path";
|
|
6
|
+
const __dirname = import.meta.dirname;
|
|
7
|
+
|
|
8
|
+
function bootstrap() {
|
|
9
|
+
if (existsSync("elegance.config.ts") || existsSync("pages")) {
|
|
10
|
+
console.error("The current directory already contains an Elegance project.");
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
cpSync(join(__dirname, "./template_project"), process.cwd(), { recursive: true, })
|
|
15
|
+
execSync("npm install esbuild ts-arc")
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
bootstrap();
|
package/bin/run.js
ADDED
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import esbuild from "esbuild";
|
|
2
|
+
import type { RouteInfo } from "../page-tools";
|
|
3
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
4
|
+
export type PublishEntry = {
|
|
5
|
+
input: string;
|
|
6
|
+
target: string;
|
|
7
|
+
};
|
|
8
|
+
type ImportContext = {
|
|
9
|
+
preBuildHooks: Array<() => Promise<void>>;
|
|
10
|
+
postBuildHooks: Array<() => Promise<void>>;
|
|
11
|
+
buildCallbacks: Array<() => Promise<void>>;
|
|
12
|
+
publishFiles: Array<PublishEntry>;
|
|
13
|
+
atomSeeds: Array<{
|
|
14
|
+
id: string;
|
|
15
|
+
initial: any;
|
|
16
|
+
}>;
|
|
17
|
+
};
|
|
18
|
+
export declare const importContext: AsyncLocalStorage<ImportContext>;
|
|
19
|
+
type ImportedModule = {
|
|
20
|
+
module: any;
|
|
21
|
+
preBuildHooks: Array<() => Promise<void>>;
|
|
22
|
+
postBuildHooks: Array<() => Promise<void>>;
|
|
23
|
+
buildCallbacks: Array<() => Promise<void>>;
|
|
24
|
+
publishFiles: Array<PublishEntry>;
|
|
25
|
+
atomSeeds: Array<{
|
|
26
|
+
id: string;
|
|
27
|
+
initial: any;
|
|
28
|
+
}>;
|
|
29
|
+
};
|
|
30
|
+
export declare function importModule(path: string): Promise<ImportedModule>;
|
|
31
|
+
export interface CompiledRoute {
|
|
32
|
+
default: Function;
|
|
33
|
+
metadata: (...params: unknown[]) => Promise<VirtualNode[]>;
|
|
34
|
+
getEnumeratedRoutes?: () => Promise<string[]>;
|
|
35
|
+
pathname: string;
|
|
36
|
+
preBuildHooks: Array<() => Promise<void>>;
|
|
37
|
+
postBuildHooks: Array<() => Promise<void>>;
|
|
38
|
+
buildCallbacks: Array<() => Promise<void>>;
|
|
39
|
+
publishFiles: Array<PublishEntry>;
|
|
40
|
+
atomSeeds: Array<{
|
|
41
|
+
id: string;
|
|
42
|
+
initial: any;
|
|
43
|
+
}>;
|
|
44
|
+
}
|
|
45
|
+
export interface CompiledLayout extends CompiledRoute {
|
|
46
|
+
}
|
|
47
|
+
export interface TranspiledRoute {
|
|
48
|
+
pathname: string;
|
|
49
|
+
pageFile: string;
|
|
50
|
+
layouts: string[];
|
|
51
|
+
serverCode: string;
|
|
52
|
+
preClientCode: string;
|
|
53
|
+
sharedChunkPaths: string[];
|
|
54
|
+
}
|
|
55
|
+
export type CacheKey = string & {
|
|
56
|
+
readonly __brand: unique symbol;
|
|
57
|
+
};
|
|
58
|
+
export declare function pageCacheKey(pathname: string): CacheKey;
|
|
59
|
+
export declare function layoutFileCacheKey(layoutPath: string): CacheKey;
|
|
60
|
+
export declare function statusCodeCacheKey(filePath: string): CacheKey;
|
|
61
|
+
export declare function serverMjsPath(key: CacheKey): string;
|
|
62
|
+
export declare function preClientMjsPath(key: CacheKey): string;
|
|
63
|
+
export declare function clientMjsPath(key: CacheKey): string;
|
|
64
|
+
export declare function chunkClientPath(key: CacheKey): string;
|
|
65
|
+
export interface ApiRouteEntry {
|
|
66
|
+
pathname: string;
|
|
67
|
+
file: string;
|
|
68
|
+
}
|
|
69
|
+
export interface MiddlewareEntry {
|
|
70
|
+
file: string;
|
|
71
|
+
}
|
|
72
|
+
export interface StatusCodePageEntry {
|
|
73
|
+
pageFile: string;
|
|
74
|
+
layouts: string[];
|
|
75
|
+
layoutCacheKeys: CacheKey[];
|
|
76
|
+
cacheKey: CacheKey;
|
|
77
|
+
}
|
|
78
|
+
interface RouteEntryBase {
|
|
79
|
+
pageFile: string;
|
|
80
|
+
layouts: string[];
|
|
81
|
+
layoutCacheKeys: CacheKey[];
|
|
82
|
+
cacheKey: CacheKey;
|
|
83
|
+
sharedChunkPaths: string[];
|
|
84
|
+
}
|
|
85
|
+
export interface StaticRouteEntry extends RouteEntryBase {
|
|
86
|
+
kind: "static";
|
|
87
|
+
pathname: string;
|
|
88
|
+
}
|
|
89
|
+
export interface EnumeratedRouteEntry extends RouteEntryBase {
|
|
90
|
+
kind: "enumerated";
|
|
91
|
+
pathname: string;
|
|
92
|
+
patternPathname: string;
|
|
93
|
+
}
|
|
94
|
+
export interface DynamicRouteEntry extends RouteEntryBase {
|
|
95
|
+
kind: "dynamic";
|
|
96
|
+
pathname: string;
|
|
97
|
+
}
|
|
98
|
+
export type RouteEntry = StaticRouteEntry | EnumeratedRouteEntry | DynamicRouteEntry;
|
|
99
|
+
export interface Manifest {
|
|
100
|
+
buildTime: number;
|
|
101
|
+
routes: RouteEntry[];
|
|
102
|
+
statusCodePages: StatusCodePageEntry[];
|
|
103
|
+
apiRoutes: ApiRouteEntry[];
|
|
104
|
+
middlewares: MiddlewareEntry[];
|
|
105
|
+
}
|
|
106
|
+
export declare function runBuildHooks(compiled: CompiledRoute, stage: "pre" | "post"): Promise<void>;
|
|
107
|
+
export declare function minifyHtml(html: string): string;
|
|
108
|
+
export declare function minifyCode(code: string): Promise<string>;
|
|
109
|
+
export declare function getSlugParamName(pattern: string): string;
|
|
110
|
+
export declare function fileHasExports(filePath: string): Promise<boolean>;
|
|
111
|
+
export declare function computeFileHash(filePath: string): Promise<string>;
|
|
112
|
+
export interface IncrementalState {
|
|
113
|
+
fileHashes: Record<string, string>;
|
|
114
|
+
clientCodeHashes: Record<string, string>;
|
|
115
|
+
}
|
|
116
|
+
export declare function loadIncrementalState(): Promise<IncrementalState>;
|
|
117
|
+
export declare function saveIncrementalState(state: IncrementalState): Promise<void>;
|
|
118
|
+
export declare function copyPublicDir(publicDir: string): Promise<void>;
|
|
119
|
+
export declare function copyPublicDirIncremental(publicDir: string): Promise<void>;
|
|
120
|
+
export declare function buildClientRuntime(minify: boolean): Promise<void>;
|
|
121
|
+
export declare const ROUTE_ESBUILD_BASE: {
|
|
122
|
+
bundle: boolean;
|
|
123
|
+
write: boolean;
|
|
124
|
+
format: "esm";
|
|
125
|
+
target: string;
|
|
126
|
+
legalComments: "inline";
|
|
127
|
+
packages: "external";
|
|
128
|
+
external: string[];
|
|
129
|
+
loader: Record<string, "ts">;
|
|
130
|
+
plugins: esbuild.Plugin[];
|
|
131
|
+
minify: boolean;
|
|
132
|
+
treeShaking: boolean;
|
|
133
|
+
};
|
|
134
|
+
export declare function discoverApiRoutes(pagesDir: string): Promise<ApiRouteEntry[]>;
|
|
135
|
+
export declare function discoverMiddlewares(pagesDir: string): Promise<MiddlewareEntry[]>;
|
|
136
|
+
export declare function findAndCacheStatusCodePages(): Promise<StatusCodePageEntry[]>;
|
|
137
|
+
export declare function transpileAllRoutes(routes: RouteInfo[], minify: boolean, skipServerKeys?: ReadonlySet<CacheKey>): Promise<Map<string, TranspiledRoute>>;
|
|
138
|
+
export declare function loadLayoutFromCache(pathname: string, cacheKey: CacheKey): Promise<CompiledLayout>;
|
|
139
|
+
export declare function loadRouteFromCache(entry: {
|
|
140
|
+
pageFile: string;
|
|
141
|
+
layouts: string[];
|
|
142
|
+
layoutCacheKeys: CacheKey[];
|
|
143
|
+
cacheKey: CacheKey;
|
|
144
|
+
pathname: string;
|
|
145
|
+
}): Promise<CompiledRoute>;
|
|
146
|
+
export {};
|
|
147
|
+
//# sourceMappingURL=common.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/build/common.ts"],"names":[],"mappings":"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"}
|