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 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.1",
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: {