
Security News
Axios Maintainer Confirms Social Engineering Attack Behind npm Compromise
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.
Uncool is a Vue plugin that allows copy and images to be updated on the fly.
$ npm install uncool --save
In src/main.js:
import Vue from 'vue'
...
import * as uninitializedFirebase from 'firebase/app'
import 'firebase/auth'
import 'firebase/firestore'
import 'firebase/storage'
export const firebase = uninitializedFirebase.initializeApp(*firebase_config*)
...
// must be included after Firebase has been imported and initialized
import uncool from 'uncool'
Vue.use(uncool)
import 'uncool/src/style.sass' // styling to denote editable items
In src/App.vue, include the following import, component declaration, and addition to the template:
<script>
import { UncoolAdmin } from 'uncool' // <--- Import at the top of the javascript
export default {
name: 'App',
components: {
'uncool-admin': UncoolAdmin, // <--- declare the component
},
}
</script>
<template>
<div id="app">
<uncool-admin></uncool-admin> // <--- include in the template at the top
...
</div>
</template>
If you would like to access the login page for uncool via url, in your router file, include the following route, using whatever path works for your site (here, we used /edit):
const routes = [
...
{
path: '/edit', // this can be whatever you need it to be
name: 'UncoolAdmin', // this needs to be 'UncoolAdmin'
},
...
]
In firestore.rules, include the following rules:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
...
... // Include from here...
match /uncool/{uncoolId} {
allow read: if true
allow write: if exists(/databases/$(database)/documents/uncool_users/$(request.auth.uid))
}
match /uncool_users/{userId} {
allow read: if userId == request.auth.uid;
}
... // to here.
...
}
}
If you already know the User uid you would like to authorize, skip to 2.
Add User.Add user and you should see the new user appear on the list of users.uncool_users.role and as the value input EDITORIn any Vue component, include the uncool directive on any element in the template to have it's content mutable by any authorized user.
Edit text example:
<template>
<div class="hello">
<div
v-uncool='"a-unique-id"'
> I serve as a placeholder unless no data is found in the database.
</div>
</div>
</template>
Edit image example (be sure to include image on your directive):
<template>
<div class="hello">
<div
style='height:400px;width:400px;'
v-uncool.image='"a-unique-image-id"'
>
</div>
</div>
</template>
To acquire your Uncool editor authorization:
Cmd + u (or visit your uncool admin url).loginEDIT in the upper right hand of the elementcontext-menusaveCmd + u (or visit your uncool admin url).logoutSee, not that cool.
FAQs
Vue.js plugin that allows page elements to be easily mutable using Firebase.
We found that uncool 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
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.