{"id":26139,"library":"radiate-framework","title":"Radiate Framework","description":"Radiate is a front-end framework by Stiona for building reactive web interfaces. Current stable version is 4.4.1. It emphasizes a component-based architecture with a reactive binding system, offering a lightweight alternative to larger frameworks like React or Vue. The framework includes its own routing, state management, and templating engine. Release cadence appears irregular; version 4.x has been stable for some time. Key differentiators include a minimal learning curve and integration with Stiona ecosystem tools. Suitable for building single-page applications with a focus on simplicity and performance.","status":"active","version":"4.4.1","language":"javascript","source_language":"en","source_url":null,"tags":["javascript"],"install":[{"cmd":"npm install radiate-framework","lang":"bash","label":"npm"},{"cmd":"yarn add radiate-framework","lang":"bash","label":"yarn"},{"cmd":"pnpm add radiate-framework","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Default import is the primary way to use the framework. CommonJS require is not supported in v4+ (ESM only).","wrong":"const radiate = require('radiate-framework')","symbol":"radiate","correct":"import radiate from 'radiate-framework'"},{"note":"Named export from the main package. Do not try to import from a subpath.","wrong":"import Component from 'radiate-framework/component'","symbol":"Component","correct":"import { Component } from 'radiate-framework'"},{"note":"Named export for reactive state. CommonJS pattern is incorrect in ESM-only context.","wrong":"const reactive = require('radiate-framework').reactive","symbol":"reactive","correct":"import { reactive } from 'radiate-framework'"},{"note":"Routing is built-in and exported as a named symbol.","wrong":"","symbol":"Router","correct":"import { Router } from 'radiate-framework'"}],"quickstart":{"code":"import radiate, { Component, reactive, html } from 'radiate-framework';\n\nclass App extends Component {\n  state = reactive({ count: 0 });\n\n  increment() {\n    this.state.count++;\n  }\n\n  render() {\n    return html`\n      <div>\n        <h1>Radiate App</h1>\n        <p>Count: ${this.state.count}</p>\n        <button onclick=${() => this.increment()}>Increment</button>\n      </div>\n    `;\n  }\n}\n\nradiate.mount(App, '#app');","lang":"javascript","description":"Creates a reactive counter component using Radiate's Component class, reactive state, and html template literal, then mounts it to the DOM."},"warnings":[{"fix":"Update import statements to use ES module imports (e.g., import radiate from 'radiate-framework').","message":"v4.0.0 migration: replaced CommonJS with ESM. Existing CommonJS code will not work.","severity":"breaking","affected_versions":"<4.0.0"},{"fix":"Replace new Observable() calls with reactive() and use .value property instead of subscription.","message":"v4.0.0: removed RxJS dependency; reactive state API changed from Observable to reactive() function.","severity":"breaking","affected_versions":"<4.0.0"},{"fix":"Replace createApp(App).mount('#app') with radiate.mount(App, '#app').","message":"Radiate.createApp() is deprecated in v4.4.0; use radiate.mount() directly.","severity":"deprecated","affected_versions":">=4.4.0 <4.5.0"},{"fix":"Use this.state.count = this.state.count.value + 1 or refactor to use set() method.","message":"Reactive state mutation must be done via assignment to .value (e.g., state.count.value++), not direct property mutation.","severity":"gotcha","affected_versions":">=4.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run npm install radiate-framework and ensure import uses package name exactly: import radiate from 'radiate-framework'.","cause":"Package not installed or incorrect import path.","error":"Error: Cannot find module 'radiate-framework'"},{"fix":"Verify import: import radiate from 'radiate-framework'; and confirm using v4+ (ESM only).","cause":"Using default export incorrectly or mixing CJS/ESM.","error":"TypeError: radiate.mount is not a function"},{"fix":"Ensure reactive state is created with reactive() and accessed via .value for primitives.","cause":"Accessing .value on a reactive variable that is not initialized or is not a reactive object.","error":"Cannot read properties of undefined (reading 'value')"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}