
Research
Two Malicious Rust Crates Impersonate Popular Logger to Steal Wallet Keys
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
nuxt-google-optimize
Advanced tools
SSR friendly Google Optimize module for Nuxt.js
nuxt-google-optimize
dependency using yarn or npm to your projectyarn add nuxt-google-optimize
OR
npm install nuxt-google-optimize --save
nuxt-google-optimize
to modules
section of nuxt.config.js
{
modules: [
'nuxt-google-optimize',
],
// Optional options
googleOptimize: {
// experimentsDir: '~/experiments',
// maxAge: 60 * 60 * 24 * 7 // 1 Week
// pushPlugin: true,
}
}
Create experiments
directory inside your project.
Create experiments/index.js
to define all available experiments:
import backgroundColor from './background-color'
export default [
backgroundColor
]
Each experiment should export an object to define itself.
experiments/background-color/index.js
:
export default {
// A helper exp-{name}-{var} class will be added to the root element
name: 'background-color',
// Google optimize experiment id
experimentID: '....',
// [optional] specify number of sections for MVT experiments
// sections: 1,
// [optional] maxAge for a user to test this experiment
// maxAge: 60 * 60 * 24, // 24 hours,
// [optional] Enable/Set experiment on certain conditions
// isEligible: ({ route }) => route.path !== '/foo'
// Implemented variants and their weights
variants: [
{ weight: 0 }, // <-- This is the default variant
{ weight: 2 },
{ weight: 1 }
],
}
$exp
Global object $exp
will be universally injected in the app context to determine the currently active experiment.
It has the following keys:
{
// Index of currently active experiment
"$experimentIndex": 0,
// Indext of currently active experiment variants
"$variantIndexes": [
1
],
// Same as $variantIndexes but each item is the real variant object
"$activeVariants": [
{
/* */
}
],
// Classes to be globally injected (see global style tests section)
"$classes": [
"exp-background-color-1" // exp-{experiment-name}-{variant-id}
],
// All of the keys of currently active experiment are available
"name": "background-color",
"experimentID": "testid",
"sections": 1,
"maxAge": 60,
"variants": [
/* all variants */
]
}
Using inside components:
<script>
export default {
methods: {
foo() {
// You can use this.$exp here
}
}
}
</script>
Using inside templates:
<div v-if="$exp.name === 'something'">
<!-- You can optionally use $exp.$activeVariants and $exp.$variantIndexes here -- >
...
</div>
<div v-else>
...
</div>
Inject global styles to page body.
layouts/default.vue
:
<template>
<nuxt/>
</template>
<script>
export default {
head () {
return {
bodyAttrs: {
class: this.$exp.$classes.join(' ')
}
}
},
}
</script>
If you have custom CSS for each test, you can import it inside your experiment's .js
file.
experiments/background-color/index.js
:
import './styles.scss'
With Sass:
.exp-background-color {
// ---------------- Variant 1 ----------------
&-1 {
background-color: red;
}
// ---------------- Variant 2 ----------------
&-2 {
background-color: blue;
}
}
With CSS:
/* Variant 1 */
.exp-background-color-1 {
background-color: red;
}
/* Variant 2 */
.exp-background-color-2 {
background-color: blue;
}
yarn install
or npm install
yarn run dev
or npm run dev
http://localhost:3000
MIT License - Alibaba Travels Co
FAQs
SSR friendly Google Optimize module for Nuxt.js
The npm package nuxt-google-optimize receives a total of 366 weekly downloads. As such, nuxt-google-optimize popularity was classified as not popular.
We found that nuxt-google-optimize demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers 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.
Research
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
Research
A malicious package uses a QR code as steganography in an innovative technique.
Research
/Security News
Socket identified 80 fake candidates targeting engineering roles, including suspected North Korean operators, exposing the new reality of hiring as a security function.