New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

vifjs

Package Overview
Dependencies
Maintainers
0
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

vifjs

A 5kb full featured reactive components library

latest
Source
npmnpm
Version
0.1.6
Version published
Maintainers
0
Created
Source

logo

Vif.js

A 5kb full featured reactive components library

NPM Version NPM Downloads JSDelivr Hits
Website Wiki Codepen

Click the badges above !

What is Vif.js ?

Vif is - again an other - javascript pure front-end component library.

For a weight of less than 6kb (3kb gzipped) Vif can do :

  • Reusable reactives components
    • HTML render
    • Javascript Render
    • Signals
    • Scoped CSS
    • Lazy loaded components
  • Routing (Single Page App & more)
  • Internationalization (i18n)

Why Vif.js ?

Before Vif, I experimented with numerous other creations of component libraries, primarily with the aim of in-depth learning of JavaScript programming (customElements, lifecycles, signals, hydration, etc...) and the DOM manipulation.

Vif represents the culmination of this learning.

The methods

/* script.js */
import {
    useDefine, // used to create a reactive web-component
    useSignal, // used to create a global signal
    useEffect, // used to create a reactive function
    useObserve, // used to create lazy actions based on component hydration
    useNavigate, // used to navigate between routes
    useI18n, // used to create and use locales translations
} from "vifjs"; // cdn at "https://cdn.jsdelivr.net/npm/vifjs@latest/esm/vif.js"

Check the full documentation here !

The counter example

How to create a counter ? In this example we will use HTML render, which can represent an advantage in terms of SEO.

<!-- index.html -->
<x-counter>
    <button x-on:click="count(count.value + 1)">
        Count is <b x-text="count()">0</b>
    </button>
</x-counter>

And here is the javascript part to make our component reactive.

/* script.js */
function Counter({ props }) {
    props.count = useSignal(0);
    return this; // optional
}

useDefine("counter", Counter);

Check the full documentation here !

I will appreciate your feedback, so feel free to post an issue on github !

Keywords

javascript

FAQs

Package last updated on 24 Jul 2024

Did you know?

Socket

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.

Install

Related posts