
Security News
OWASP 2025 Top 10 Adds Software Supply Chain Failures, Ranked Top Community Concern
OWASP’s 2025 Top 10 introduces Software Supply Chain Failures as a new category, reflecting rising concern over dependency and build system risks.
@buschtoens/sparkles-component
Advanced tools
Experiment with `@glimmer/component` style APIs in Ember apps via existing public APIs

Addon used to experiment with @glimmer/component style APIs in Ember apps via
existing public APIs.
ember install sparkles-component
The sparkles-component API supports most of the @glimmer/component API, including:
constructor - will be called when the component is needed, passed the evaluated named arguments for the componentdidInsertElement - will be called after the component has been rendered the first time, after the whole top-down rendering process is completeddidUpdate - will be called after the component has been updated, after the whole top-down rendering process is completeddestroy - will be called when the component is no longer neededember install -S @ember-decorators/babel-transforms@^2.0.0)experimentalDecorators compiler option in tsconfig.json)Missing features from @glimmer/component:
this.bounds within the component. At the moment there is no access available at all to the rendered DOM. The easiest work around for now would be to use an attribute in your template along with document.querySelector.this.debugName within the component. This was largely only present for debugging purposes, but is not possible to access in the Ember APIs at the moment.Comprehensive example (nearly exactly the same as the the glimmer.js guides):
// app/components/conference-speakers.js (.ts would also work)
import Component, { tracked } from "sparkles-component";
export default class ConferenceSpeakers extends Component {
@tracked current = 0;
speakers = ['Tom', 'Yehuda', 'Ed'];
@tracked('current')
get currentlySpeaking() {
return this.speakers[this.current];
}
@tracked('current')
get moreSpeakers() {
return (this.speakers.length - 1) > this.current;
}
next() {
this.current = this.current + 1;
}
}
{{!-- app/templates/components/conference-speakers.hbs --}}
<div>
<p>Speaking: {{this.currentlySpeaking}}</p>
<ul>
{{#each this.speakers key="@index" as |speaker|}}
<li>{{speaker}}</li>
{{/each}}
</ul>
{{#if this.moreSpeakers}}
<button onclick={{action this.next}}>Next</button>
{{else}}
<p>All finished!</p>
{{/if}}
</div>
git clone <repository-url>cd sparkles-componentyarn installyarn lint:jsyarn lint:js --fixember test – Runs the test suite on the current Ember versionember test --server – Runs the test suite in "watch mode"ember try:each – Runs the test suite against multiple Ember versionsember serveFor more information on using ember-cli, visit https://ember-cli.com/.
This project is licensed under the MIT License.
FAQs
Experiment with `@glimmer/component` style APIs in Ember apps via existing public APIs
The npm package @buschtoens/sparkles-component receives a total of 1 weekly downloads. As such, @buschtoens/sparkles-component popularity was classified as not popular.
We found that @buschtoens/sparkles-component demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
OWASP’s 2025 Top 10 introduces Software Supply Chain Failures as a new category, reflecting rising concern over dependency and build system risks.

Research
/Security News
Socket researchers discovered nine malicious NuGet packages that use time-delayed payloads to crash applications and corrupt industrial control systems.

Security News
Socket CTO Ahmad Nassri discusses why supply chain attacks now target developer machines and what AI means for the future of enterprise security.