round-core 0.0.1 → 0.0.2
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/Round.png +0 -0
- package/bun.lock +8 -8
- package/logo.svg +73 -0
- package/package.json +4 -4
- package/src/compiler/transformer.js +0 -11
- package/src/compiler/vite-plugin.js +0 -1
package/Round.png
CHANGED
|
Binary file
|
package/bun.lock
CHANGED
|
@@ -4,19 +4,19 @@
|
|
|
4
4
|
"": {
|
|
5
5
|
"name": "round-core",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"marked": "^12.0.2"
|
|
7
|
+
"marked": "^12.0.2",
|
|
8
|
+
"vite": "^5.0.0",
|
|
9
|
+
"vitest": "^1.6.0",
|
|
8
10
|
},
|
|
9
11
|
"devDependencies": {
|
|
10
12
|
"@types/node": "latest",
|
|
11
13
|
"bun-types": "latest",
|
|
12
14
|
"jsdom": "^24.0.0",
|
|
13
|
-
"vite": "^5.0.0",
|
|
14
|
-
"vitest": "^1.6.0"
|
|
15
15
|
},
|
|
16
16
|
"peerDependencies": {
|
|
17
|
-
"bun": ">=1.0.0"
|
|
18
|
-
}
|
|
19
|
-
}
|
|
17
|
+
"bun": ">=1.0.0",
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
20
|
},
|
|
21
21
|
"packages": {
|
|
22
22
|
"@asamuzakjp/css-color": ["@asamuzakjp/css-color@3.2.0", "", { "dependencies": { "@csstools/css-calc": "^2.1.3", "@csstools/css-color-parser": "^3.0.9", "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3", "lru-cache": "^10.4.3" } }, "sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw=="],
|
|
@@ -175,7 +175,7 @@
|
|
|
175
175
|
|
|
176
176
|
"asynckit": ["asynckit@0.4.0", "", {}, "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="],
|
|
177
177
|
|
|
178
|
-
"bun": ["bun@1.3.4", "", { "optionalDependencies": { "@oven/bun-darwin-aarch64": "1.3.4", "@oven/bun-darwin-x64": "1.3.4", "@oven/bun-darwin-x64-baseline": "1.3.4", "@oven/bun-linux-aarch64": "1.3.4", "@oven/bun-linux-aarch64-musl": "1.3.4", "@oven/bun-linux-x64": "1.3.4", "@oven/bun-linux-x64-baseline": "1.3.4", "@oven/bun-linux-x64-musl": "1.3.4", "@oven/bun-linux-x64-musl-baseline": "1.3.4", "@oven/bun-windows-x64": "1.3.4", "@oven/bun-windows-x64-baseline": "1.3.4" }, "os": [ "linux", "win32", "darwin" ], "cpu": [ "x64", "arm64" ], "bin": { "bun": "bin/bun.exe", "bunx": "bin/bunx.exe" } }, "sha512-xV6KgD5ImquuKsoghzbWmYzeCXmmSgN6yJGz444hri2W+NGKNRFUNrEhy9+/rRXbvNA2qF0K0jAwqFNy1/GhBg=="],
|
|
178
|
+
"bun": ["bun@1.3.4", "", { "optionalDependencies": { "@oven/bun-darwin-aarch64": "1.3.4", "@oven/bun-darwin-x64": "1.3.4", "@oven/bun-darwin-x64-baseline": "1.3.4", "@oven/bun-linux-aarch64": "1.3.4", "@oven/bun-linux-aarch64-musl": "1.3.4", "@oven/bun-linux-x64": "1.3.4", "@oven/bun-linux-x64-baseline": "1.3.4", "@oven/bun-linux-x64-musl": "1.3.4", "@oven/bun-linux-x64-musl-baseline": "1.3.4", "@oven/bun-windows-x64": "1.3.4", "@oven/bun-windows-x64-baseline": "1.3.4" }, "os": [ "linux", "win32", "darwin", ], "cpu": [ "x64", "arm64", ], "bin": { "bun": "bin/bun.exe", "bunx": "bin/bunx.exe" } }, "sha512-xV6KgD5ImquuKsoghzbWmYzeCXmmSgN6yJGz444hri2W+NGKNRFUNrEhy9+/rRXbvNA2qF0K0jAwqFNy1/GhBg=="],
|
|
179
179
|
|
|
180
180
|
"bun-types": ["bun-types@1.3.4", "", { "dependencies": { "@types/node": "*" } }, "sha512-5ua817+BZPZOlNaRgGBpZJOSAQ9RQ17pkwPD0yR7CfJg+r8DgIILByFifDTa+IPDDxzf5VNhtNlcKqFzDgJvlQ=="],
|
|
181
181
|
|
|
@@ -409,6 +409,6 @@
|
|
|
409
409
|
|
|
410
410
|
"npm-run-path/path-key": ["path-key@4.0.0", "", {}, "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ=="],
|
|
411
411
|
|
|
412
|
-
"pkg-types/pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="]
|
|
412
|
+
"pkg-types/pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="],
|
|
413
413
|
}
|
|
414
414
|
}
|
package/logo.svg
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
<svg width="200" height="200" viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<defs>
|
|
3
|
+
<!-- Gradiente verde para el núcleo -->
|
|
4
|
+
<radialGradient id="nucleusGradient" cx="50%" cy="50%" fx="30%" fy="30%" r="70%">
|
|
5
|
+
<stop offset="0%" stop-color="#00ffaa"/>
|
|
6
|
+
<stop offset="50%" stop-color="#00d8a7"/>
|
|
7
|
+
<stop offset="100%" stop-color="#00b894"/>
|
|
8
|
+
</radialGradient>
|
|
9
|
+
|
|
10
|
+
<!-- Efecto de sombra para las órbitas -->
|
|
11
|
+
<filter id="dropShadow" x="-20%" y="-20%" width="140%" height="140%">
|
|
12
|
+
<feDropShadow dx="2" dy="2" stdDeviation="3" flood-color="#000000" flood-opacity="0.2"/>
|
|
13
|
+
</filter>
|
|
14
|
+
|
|
15
|
+
<!-- Gradiente con brillo para azul -->
|
|
16
|
+
<linearGradient id="blueGlow" x1="0%" y1="0%" x2="100%" y2="100%">
|
|
17
|
+
<stop offset="0%" stop-color="#1a4fd8"/>
|
|
18
|
+
<stop offset="30%" stop-color="#4a7dff"/>
|
|
19
|
+
<stop offset="70%" stop-color="#2962FF"/>
|
|
20
|
+
<stop offset="100%" stop-color="#1a4fd8"/>
|
|
21
|
+
</linearGradient>
|
|
22
|
+
|
|
23
|
+
<!-- Gradiente con brillo para verde -->
|
|
24
|
+
<linearGradient id="greenGlow" x1="0%" y1="0%" x2="100%" y2="100%">
|
|
25
|
+
<stop offset="0%" stop-color="#00b894"/>
|
|
26
|
+
<stop offset="30%" stop-color="#00ffc3"/>
|
|
27
|
+
<stop offset="70%" stop-color="#00D8A7"/>
|
|
28
|
+
<stop offset="100%" stop-color="#00b894"/>
|
|
29
|
+
</linearGradient>
|
|
30
|
+
</defs>
|
|
31
|
+
|
|
32
|
+
<!-- Fondo sutil circular -->
|
|
33
|
+
<circle cx="100" cy="100" r="90" fill="url(#blueGlow)" opacity="0.05"/>
|
|
34
|
+
|
|
35
|
+
<!-- Órbita exterior con efecto de neón -->
|
|
36
|
+
<path d="M40,100 Q100,30 160,100 Q100,170 40,100"
|
|
37
|
+
fill="none"
|
|
38
|
+
stroke="url(#blueGlow)"
|
|
39
|
+
stroke-width="10"
|
|
40
|
+
stroke-linecap="round"
|
|
41
|
+
filter="url(#dropShadow)"
|
|
42
|
+
style="mix-blend-mode: screen"/>
|
|
43
|
+
|
|
44
|
+
<!-- Órbita media con efecto brillante -->
|
|
45
|
+
<path d="M60,100 Q100,50 140,100 Q100,150 60,100"
|
|
46
|
+
fill="none"
|
|
47
|
+
stroke="url(#greenGlow)"
|
|
48
|
+
stroke-width="10"
|
|
49
|
+
stroke-linecap="round"
|
|
50
|
+
filter="url(#dropShadow)"
|
|
51
|
+
style="mix-blend-mode: screen"/>
|
|
52
|
+
|
|
53
|
+
<!-- Núcleo con efecto 3D marcado -->
|
|
54
|
+
<circle cx="100" cy="100" r="22" fill="url(#nucleusGradient)">
|
|
55
|
+
<feDropShadow dx="0" dy="0" stdDeviation="8" flood-color="#00ffaa" flood-opacity="0.4"/>
|
|
56
|
+
</circle>
|
|
57
|
+
|
|
58
|
+
<!-- Reflejo superior en el núcleo -->
|
|
59
|
+
<ellipse cx="95" cy="90" rx="8" ry="5" fill="#ffffff" opacity="0.4"/>
|
|
60
|
+
|
|
61
|
+
<!-- Puntos de energía sutilmente distribuidos -->
|
|
62
|
+
<g opacity="0.6">
|
|
63
|
+
<circle cx="170" cy="100" r="3" fill="#4a7dff"/>
|
|
64
|
+
<circle cx="100" cy="170" r="3" fill="#4a7dff"/>
|
|
65
|
+
<circle cx="30" cy="100" r="3" fill="#4a7dff"/>
|
|
66
|
+
<circle cx="100" cy="30" r="3" fill="#4a7dff"/>
|
|
67
|
+
|
|
68
|
+
<circle cx="140" cy="140" r="2.5" fill="#00ffc3"/>
|
|
69
|
+
<circle cx="60" cy="140" r="2.5" fill="#00ffc3"/>
|
|
70
|
+
<circle cx="140" cy="60" r="2.5" fill="#00ffc3"/>
|
|
71
|
+
<circle cx="60" cy="60" r="2.5" fill="#00ffc3"/>
|
|
72
|
+
</g>
|
|
73
|
+
</svg>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "round-core",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.2",
|
|
4
4
|
"description": "A lightweight frontend framework for SPA with signals and fine grained reactivity",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -25,11 +25,11 @@
|
|
|
25
25
|
"author": "Round Framework Team",
|
|
26
26
|
"license": "MIT",
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"marked": "^12.0.2"
|
|
28
|
+
"marked": "^12.0.2",
|
|
29
|
+
"vite": "^5.0.0",
|
|
30
|
+
"vitest": "^1.6.0"
|
|
29
31
|
},
|
|
30
32
|
"devDependencies": {
|
|
31
|
-
"vite": "^5.0.0",
|
|
32
|
-
"vitest": "^1.6.0",
|
|
33
33
|
"jsdom": "^24.0.0",
|
|
34
34
|
"bun-types": "latest",
|
|
35
35
|
"@types/node": "latest"
|
|
@@ -5,13 +5,6 @@
|
|
|
5
5
|
|
|
6
6
|
export function transform(code) {
|
|
7
7
|
// Process "if" blocks first, then "for" blocks (or vice versa, order matters if nested)
|
|
8
|
-
// Actually, simple sequential processing might miss nested ones if we replace outside-in vs inside-out.
|
|
9
|
-
// Let's do a loop that finds the *first* occurrence, replaces it, and repeats until none found.
|
|
10
|
-
// This handles nesting naturally if we restart search? No, replacing outer first might break inner logic if we simple-replace string.
|
|
11
|
-
// But if we construct valid JS, inner logic is just string content initially?
|
|
12
|
-
// Wait, if we replace `if(x){ if(y){} }` -> `x ? ( if(y){} ) : null`.
|
|
13
|
-
// Then next pass sees `if(y){}` and replaces it. `x ? ( y ? ... : null ) : null`.
|
|
14
|
-
// Valid.
|
|
15
8
|
|
|
16
9
|
// Helper to find balanced block starting at index
|
|
17
10
|
function parseBlock(str, startIndex) {
|
|
@@ -19,10 +12,6 @@ export function transform(code) {
|
|
|
19
12
|
let startBlockIndex = -1;
|
|
20
13
|
let endBlockIndex = -1;
|
|
21
14
|
|
|
22
|
-
// Find the opening { of the block
|
|
23
|
-
// The regex gives us the start of "if/for (...) {"
|
|
24
|
-
// We need to verify we found the brace.
|
|
25
|
-
|
|
26
15
|
for (let i = startIndex; i < str.length; i++) {
|
|
27
16
|
if (str[i] === '{') {
|
|
28
17
|
if (open === 0) startBlockIndex = i;
|
|
@@ -311,7 +311,6 @@ export default function RoundPlugin(pluginOptions = {}) {
|
|
|
311
311
|
jsxFactory: 'createElement',
|
|
312
312
|
jsxFragment: 'Fragment'
|
|
313
313
|
// NOTE: Inject the runtime import in transform() to avoid
|
|
314
|
-
// double-inject issues and because jsxInject isn't always applied to custom extensions.
|
|
315
314
|
},
|
|
316
315
|
// Ensure .round files are treated as JS/JSX
|
|
317
316
|
resolve: {
|