@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 CHANGED
@@ -1,4 +1,4 @@
1
- # Absolute JS
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
- "repository": {
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
- "description": "A fullstack meta-framework for building web applications with TypeScript",
48
- "license": "CC BY-NC 4.0",
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
- "test": "echo \"Error: no test specified\" && exit 1",
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
- "typecheck": "bun run tsc --noEmit",
55
- "dev": "bun run --watch example/server.ts",
56
- "release": "bun run format && bun run build && bun publish"
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
  }
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "compilerOptions": {
3
- "target": "ESNext",
4
3
  "allowJs": true,
5
- "module": "ESNext",
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
- "noUncheckedIndexedAccess": true,
15
- "noImplicitAny": true,
16
- "lib": ["DOM", "DOM.Iterable", "ESNext"]
15
+ "strict": true,
16
+ "target": "ESNext"
17
17
  },
18
- "include": ["src/**/*"],
19
- "exclude": ["node_modules"]
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 {};