vue-spear-tip
| Install | |
|---|---|
npm install vue-spear-tip |
|
| Latest Version: | 0.6.75 |
| Vue: | 3 |
| License: | MIT |
| Last Updated: | Oct 11, 2026 |
| Links: | npm |
Vue Spear Tip
Reactive OOP frontend programming library on Vue
Vue 3 TypeScript Class Components with @Watch, Computed (as getter), @Prop decorators. And UI KIT on them.
What is the Vue Spear Tip?
Vue Spear Tip - is a global wrapper library for Vue 3 components using decorators. It allows you to describe a Vue component as an object-oriented class with inheritance, as well as provides a set of pre-built fields and components assembled from various open-source libraries that we constantly update. We are always looking for ways to improve our offerings.
Built documentation with examples: vue-spear-tip.smartrus.org
VST uses the Composition API and works with a js proxy. Which makes it compatible with current versions of vue.
Install
With Bun.JS
bun add vue-spear-tip
or with npm
npm install vue-spear-tip
Need enable experimental decorators in tsconfig.json:
{
"compilerOptions": {
// ... another
"emitDecoratorMetadata": true,
"experimentalDecorators": true
}
}
Need keep names in vite.config.ts:
{
// ... another
esbuild: {
keepNames : true,
},
}
Add kit components styles
import 'vue-spear-tip/style'
// If need auto resizable .row .col-* styles
import 'vue-spear-tip/grid'
Use
<template lang="pug">
div
div(class="h30px w200px m10px")
Button(
@clickTap="test = 'test'"
) Example
</template>
<script lang="ts">
import {Component, Prop, Watch, BaseComponent, Button} from 'vue-spear-tip'
/**
* Component example
* @author CHORNY
* @copyright https://smartrus.org
*/
@Component export default class Example extends BaseComponent {
components = {Button}
@Prop(String, null) readonly text: string = ''
test: string = ''
anotherParam: string = ''
beforeMount() {
console.log('test')
}
// Declare computed prop
get computedProp(): boolean {
return true
}
@Watch({deep: true, immediate: true}) watchTest(newVal: string) {
console.log('test variable changed', newVal)
}
@Watch watchAnotherParam(newVal: string) {
console.log('watch anotherParam', newVal)
}
}
</script>
<style lang="sass" scoped>
span
@apply bg-red-200
</style>
Related Packages
Version History
| Version | Released | License |
|---|---|---|
| 0.6.75 | MIT | |
| 0.6.74 | MIT | |
| 0.6.73 | MIT | |
| 0.6.72 | MIT | |
| 0.6.71 | MIT | |
| 0.6.70 | MIT | |
| 0.6.69 | MIT | |
| 0.6.68 | MIT | |
| 0.6.67 | MIT | |
| 0.6.66 | MIT | |
| 0.6.65 | MIT | |
| 0.6.64 | MIT | |
| 0.6.63 | MIT | |
| 0.6.62 | MIT | |
| 0.6.61 | MIT | |
| 0.6.60 | MIT | |
| 0.6.59 | MIT | |
| 0.6.58 | MIT | |
| 0.6.57 | MIT | |
| 0.6.56 | MIT | |
| 0.6.55 | MIT | |
| 0.6.54 | MIT | |
| 0.6.53 | MIT | |
| 0.6.52 | MIT | |
| 0.6.51 | MIT | |
| 0.6.50 | MIT | |
| 0.6.49 | MIT | |
| 0.6.48 | MIT | |
| 0.6.47 | MIT | |
| 0.6.46 | MIT |
Showing the latest 30 of 161. See every release on npm
Pre-releases (48)
| Version | Released | License |
|---|---|---|
| 0.4.3-beta.1 | MIT | |
| 0.4.3-beta.0 | MIT | |
| 0.4.0-bata.1 | MIT | |
| 0.4.0-bata.0 | MIT | |
| 0.3.5-beta.0 | MIT | |
| 0.3.2-beta.6 | MIT | |
| 0.3.2-beta.5 | MIT | |
| 0.3.2-beta.4 | MIT | |
| 0.3.2-beta.3 | MIT | |
| 0.3.2-beta.2 | MIT | |
| 0.3.2-beta.1 | MIT | |
| 0.3.2-beta.0 | MIT | |
| 0.3.1-beta.2 | MIT | |
| 0.3.1-beta.1 | MIT | |
| 0.3.1-beta.0 | MIT | |
| 0.3.0-beta.2 | MIT | |
| 0.3.0-beta.1 | MIT | |
| 0.3.0-beta.0 | MIT | |
| 0.2.16-beta.0 | MIT | |
| 0.2.11-alpha.0 | MIT | |
| 0.2.10-beta.0 | MIT | |
| 0.2.9-beta.0 | MIT | |
| 0.2.1-beta.0 | MIT | |
| 0.1.19-alpha.0 | MIT | |
| 0.1.8-beta.0 | MIT | |
| 0.1.7-beta.12 | MIT | |
| 0.1.7-beta.11 | MIT | |
| 0.1.7-beta.10 | MIT | |
| 0.1.7-beta.9 | MIT | |
| 0.1.7-beta.8 | MIT |
Showing the latest 30 of 48. See every release on npm