@absolutejs/absolute 0.10.3 → 0.11.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/README.md +3 -1
- package/eslint.config.mjs +17 -3
- package/package.json +17 -16
- package/tsconfig.build.json +11 -11
- package/dist/plugins/scopedStore.d.ts +0 -40
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#
|
|
1
|
+
# AbsoluteJS
|
|
2
2
|
|
|
3
3
|
Full‑stack, **type‑safe** batteries‑included platform that lets you **server‑side render _any_ modern front‑end**—React, Svelte, plain HTML, HTMX (Vue & Angular coming)—with a single Bun‑powered build step.
|
|
4
4
|
|
|
@@ -141,6 +141,8 @@ No separate config files or environment variables—just explicit arguments with
|
|
|
141
141
|
## Roadmap
|
|
142
142
|
|
|
143
143
|
- **Angular** handlers
|
|
144
|
+
- Prisma support
|
|
145
|
+
- Biome support
|
|
144
146
|
- Hot‑reload development server
|
|
145
147
|
- First‑class Docker images & hosting recipes
|
|
146
148
|
|
package/eslint.config.mjs
CHANGED
|
@@ -55,9 +55,8 @@ export default defineConfig([
|
|
|
55
55
|
'@typescript-eslint/no-unnecessary-type-assertion': 'error'
|
|
56
56
|
}
|
|
57
57
|
},
|
|
58
|
-
|
|
59
58
|
{
|
|
60
|
-
files: ['**/*.{js,mjs,cjs,ts,tsx,jsx}'],
|
|
59
|
+
files: ['**/*.{js,mjs,cjs,json,ts,tsx,jsx}'],
|
|
61
60
|
ignores: ['node_modules/**'],
|
|
62
61
|
languageOptions: {
|
|
63
62
|
globals: {
|
|
@@ -210,10 +209,25 @@ export default defineConfig([
|
|
|
210
209
|
'src/plugins/index.ts',
|
|
211
210
|
'src/core/index.ts',
|
|
212
211
|
'src/index.ts',
|
|
213
|
-
'example/html/scripts/*'
|
|
212
|
+
'example/html/scripts/*',
|
|
213
|
+
'tsconfig.json',
|
|
214
|
+
'tsconfig.build.json',
|
|
215
|
+
'package.json',
|
|
216
|
+
'.prettierrc.json'
|
|
214
217
|
],
|
|
215
218
|
rules: {
|
|
216
219
|
'import/no-unused-modules': 'off'
|
|
217
220
|
}
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
files: [
|
|
224
|
+
'tsconfig.json',
|
|
225
|
+
'tsconfig.build.json',
|
|
226
|
+
'package.json',
|
|
227
|
+
'.prettierrc.json'
|
|
228
|
+
],
|
|
229
|
+
rules: {
|
|
230
|
+
'@typescript-eslint/no-unused-expressions': 'off'
|
|
231
|
+
}
|
|
218
232
|
}
|
|
219
233
|
]);
|
package/package.json
CHANGED
|
@@ -1,18 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "@absolutejs/absolute",
|
|
3
|
-
"version": "0.10.3",
|
|
4
2
|
"author": "Alex Kahn",
|
|
5
|
-
"
|
|
6
|
-
"type": "git",
|
|
7
|
-
"url": "https://github.com/absolutejs/absolutejs.git"
|
|
8
|
-
},
|
|
9
|
-
"main": "./dist/index.js",
|
|
3
|
+
"description": "A fullstack meta-framework for building web applications with TypeScript",
|
|
10
4
|
"devDependencies": {
|
|
5
|
+
"@angular/compiler-cli": "^20.1.0",
|
|
6
|
+
"@angular/core": "^20.1.0",
|
|
11
7
|
"@angular/platform-browser": "^20.1.0",
|
|
12
8
|
"@angular/platform-server": "^20.1.0",
|
|
13
9
|
"@angular/ssr": "^20.1.0",
|
|
14
|
-
"@angular/compiler-cli": "^20.1.0",
|
|
15
|
-
"@angular/core": "^20.1.0",
|
|
16
10
|
"@elysiajs/static": "1.3.0",
|
|
17
11
|
"@stylistic/eslint-plugin-ts": "4.2.0",
|
|
18
12
|
"@tailwindcss/cli": "4.1.7",
|
|
@@ -21,6 +15,7 @@
|
|
|
21
15
|
"@types/react-dom": "19.1.5",
|
|
22
16
|
"autoprefixer": "10.4.21",
|
|
23
17
|
"elysia": "1.3.1",
|
|
18
|
+
"elysia-scoped-state": "0.1.1",
|
|
24
19
|
"eslint": "9.26.0",
|
|
25
20
|
"eslint-plugin-absolute": "0.1.4",
|
|
26
21
|
"eslint-plugin-import": "2.31.0",
|
|
@@ -37,6 +32,9 @@
|
|
|
37
32
|
"vue": "3.5.17",
|
|
38
33
|
"zone.js": "0.15.1"
|
|
39
34
|
},
|
|
35
|
+
"license": "CC BY-NC 4.0",
|
|
36
|
+
"main": "./dist/index.js",
|
|
37
|
+
"name": "@absolutejs/absolute",
|
|
40
38
|
"peerDependencies": {
|
|
41
39
|
"elysia": "^1.3.0",
|
|
42
40
|
"react": "^19.1.0",
|
|
@@ -44,16 +42,19 @@
|
|
|
44
42
|
"svelte": "^5.35.2",
|
|
45
43
|
"vue": "^3.5.17"
|
|
46
44
|
},
|
|
47
|
-
"
|
|
48
|
-
|
|
45
|
+
"repository": {
|
|
46
|
+
"type": "git",
|
|
47
|
+
"url": "https://github.com/absolutejs/absolutejs.git"
|
|
48
|
+
},
|
|
49
49
|
"scripts": {
|
|
50
50
|
"build": "rm -rf dist && bun build src/index.ts --outdir dist --sourcemap --target=bun --external react --external react-dom --external vue --external @vue/compiler-sfc --external svelte --external elysia && tsc --emitDeclarationOnly --project tsconfig.build.json",
|
|
51
|
-
"
|
|
51
|
+
"dev": "bun run --watch example/server.ts",
|
|
52
52
|
"format": "prettier --write \"./**/*.{js,jsx,ts,tsx,css,json,mjs,md,svelte,html,vue}\"",
|
|
53
53
|
"lint": "eslint ./",
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"
|
|
54
|
+
"release": "bun run format && bun run build && bun publish",
|
|
55
|
+
"test": "echo \"Error: no test specified\" && exit 1",
|
|
56
|
+
"typecheck": "bun run tsc --noEmit"
|
|
57
57
|
},
|
|
58
|
-
"types": "./dist/index.d.ts"
|
|
58
|
+
"types": "./dist/index.d.ts",
|
|
59
|
+
"version": "0.11.0"
|
|
59
60
|
}
|
package/tsconfig.build.json
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"compilerOptions": {
|
|
3
|
-
"target": "ESNext",
|
|
4
3
|
"allowJs": true,
|
|
5
|
-
"
|
|
6
|
-
"moduleResolution": "bundler",
|
|
7
|
-
"jsx": "react-jsx",
|
|
4
|
+
"declaration": true,
|
|
8
5
|
"esModuleInterop": true,
|
|
9
6
|
"forceConsistentCasingInFileNames": true,
|
|
7
|
+
"jsx": "react-jsx",
|
|
8
|
+
"lib": ["DOM", "DOM.Iterable", "ESNext"],
|
|
9
|
+
"module": "ESNext",
|
|
10
|
+
"moduleResolution": "bundler",
|
|
11
|
+
"noImplicitAny": true,
|
|
12
|
+
"noUncheckedIndexedAccess": true,
|
|
10
13
|
"outDir": "dist",
|
|
11
|
-
"strict": true,
|
|
12
|
-
"declaration": true,
|
|
13
14
|
"skipLibCheck": true,
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"lib": ["DOM", "DOM.Iterable", "ESNext"]
|
|
15
|
+
"strict": true,
|
|
16
|
+
"target": "ESNext"
|
|
17
17
|
},
|
|
18
|
-
"
|
|
19
|
-
"
|
|
18
|
+
"exclude": ["node_modules"],
|
|
19
|
+
"include": ["src/**/*"]
|
|
20
20
|
}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { Elysia } from 'elysia';
|
|
2
|
-
type ScopedStateConfig<T> = {
|
|
3
|
-
value: T;
|
|
4
|
-
preserve?: boolean;
|
|
5
|
-
};
|
|
6
|
-
type ValueOnly<Setup extends Record<string, ScopedStateConfig<unknown>>> = {
|
|
7
|
-
[K in keyof Setup]: Setup[K]['value'];
|
|
8
|
-
};
|
|
9
|
-
type ScopedRecord<Data extends Record<string, unknown>> = Record<string, Data>;
|
|
10
|
-
export declare const scopedState: <Setup extends Record<string, ScopedStateConfig<unknown>>>(setup: Setup) => Elysia<"", {
|
|
11
|
-
decorator: {};
|
|
12
|
-
store: {
|
|
13
|
-
scoped: ScopedRecord<{ [K in keyof ValueOnly<Setup>]: ValueOnly<Setup>[K]; }>;
|
|
14
|
-
};
|
|
15
|
-
derive: {
|
|
16
|
-
readonly scopedStore: { [K in keyof ValueOnly<Setup>]: ValueOnly<Setup>[K]; };
|
|
17
|
-
readonly resetScopedStore: (ignorePreserve?: boolean) => void;
|
|
18
|
-
};
|
|
19
|
-
resolve: {};
|
|
20
|
-
}, {
|
|
21
|
-
typebox: {};
|
|
22
|
-
error: {};
|
|
23
|
-
}, {
|
|
24
|
-
schema: import("elysia").MergeSchema<import("elysia").MergeSchema<{}, {}, "">, {}, "">;
|
|
25
|
-
standaloneSchema: {};
|
|
26
|
-
macro: {};
|
|
27
|
-
macroFn: {};
|
|
28
|
-
parser: {};
|
|
29
|
-
}, {}, {
|
|
30
|
-
derive: {};
|
|
31
|
-
resolve: {};
|
|
32
|
-
schema: {};
|
|
33
|
-
standaloneSchema: {};
|
|
34
|
-
}, {
|
|
35
|
-
derive: {};
|
|
36
|
-
resolve: {};
|
|
37
|
-
schema: {};
|
|
38
|
-
standaloneSchema: {};
|
|
39
|
-
}>;
|
|
40
|
-
export {};
|