1.0.458 • Published 4 years ago

rollouter v1.0.458

Weekly downloads
4
License
MIT
Repository
github
Last release
4 years ago

Rollouter

Cryptography based, feature toggle / AB-test library.

Rollouter helps to roll out new features in a smart way. It requires no server and can be set up on the fly. The Idea behind rollouter is to ship consistent AB-test test and feature toggle with the possibility to gradually increase audience reach. A user will not only consistent see the result of conduction. Also, the change of proportions will affect only users from 'A' bucket. A second important feature of rollouter is the different users will be directed to different splits on each experiment. So there is no such problem as showing new features only to a certain group of users.

Live demo

Try it on runkit https://runkit.com/vshuhaiev/rollouter-sample

Simple config playgound https://wix-incubator.github.io/rollouter/

Quick start

Install

npm i rollouter

Examples

Minimal config

Valid config for rollouter should have features field as an object with feature name as key and settings as value. The only mandatory field is default. In order to conduct an experiment, you should pass config and user ID to determine a user. It can be any string. Based on this string rollouter will make a decision, which split to apply.

import rollouter from 'rollouter';
const config = {
    features:{
        feature1:{
            default: true,
        },
         feature2:{
            default: false,
        },
    },
};

const configuredInstance = rollouter
    .config(config)

console.log(`withUser: ${configuredInstance.user('someUserId').conduct('feature1')}`); //true
console.log(`noUser: ${configuredInstance.conduct('feature2')}`); //false

50/50 Experiment

In the following case, 50% of users will receive old version, 20% and 30% for new value 1 and new value 2

import rollouter from 'rollouter';
const config = {
    features:{
        feature1: {
            default: 'old version',
            experiments: [{
                variants: [{
                    slice: 0.2,
                    value: 'new value 1',
                },{
                    slice: 0.3,
                    value: 'new value 2',
                }],
            }],
        },
    },
};

rollouter
    .config(config)
    .user('user.id')
    .conduct('feature1');

Include users by any parameter

In the following case, 50% of users will receive old version, 20% and 30% for new value 1 and new value 2

import rollouter from 'rollouter';
const config = {
    features:{
        FancyButton:{
            default: false,
            experiments: [{
               includes: {
                   geo: ["US","UK"]
               },
               exclude: {
                   registered: false,
               },
               variants: [{
                   slice: 0.1,
                   value: true,
                }]
            },{
                includes: {
                    eyes: 'blue',
                },
                variants: [{
                     slice: 1,
                     value: true,
                }]
            }]
        },
    },
};

rollouter
    .config(config)
    .user('user.id', {'geo': 'US', eyes:'brown', registered: true})
    .conduct('FancyButton');

A new feature will see 10% of users from USA and UK except unregistered and all users with blue eyes. Please note that we do not consider user registration with blue eyes.

1.0.458

4 years ago

1.0.457

4 years ago

1.0.456

4 years ago

1.0.455

4 years ago

1.0.454

4 years ago

1.0.453

4 years ago

1.0.452

4 years ago

1.0.451

4 years ago

1.0.450

4 years ago

1.0.449

4 years ago

1.0.448

4 years ago

1.0.447

4 years ago

1.0.446

4 years ago

1.0.445

4 years ago

1.0.444

4 years ago

1.0.443

4 years ago

1.0.442

4 years ago

1.0.441

4 years ago

1.0.440

4 years ago

1.0.439

4 years ago

1.0.438

4 years ago

1.0.437

4 years ago

1.0.436

4 years ago

1.0.435

4 years ago

1.0.434

4 years ago

1.0.433

4 years ago

1.0.432

4 years ago

1.0.431

4 years ago

1.0.430

4 years ago

1.0.429

4 years ago

1.0.428

4 years ago

1.0.427

4 years ago

1.0.426

4 years ago

1.0.425

4 years ago

1.0.424

4 years ago

1.0.423

4 years ago

1.0.422

4 years ago

1.0.421

4 years ago

1.0.420

4 years ago

1.0.419

4 years ago

1.0.418

4 years ago

1.0.417

4 years ago

1.0.416

4 years ago

1.0.415

4 years ago

1.0.414

4 years ago

1.0.413

4 years ago

1.0.412

4 years ago

1.0.411

4 years ago

1.0.410

4 years ago

1.0.409

4 years ago

1.0.408

4 years ago

1.0.407

4 years ago

1.0.406

4 years ago

1.0.405

4 years ago

1.0.404

4 years ago

1.0.403

4 years ago

1.0.402

4 years ago

1.0.401

4 years ago

1.0.400

4 years ago

1.0.399

4 years ago

1.0.398

4 years ago

1.0.397

4 years ago

1.0.396

4 years ago

1.0.395

4 years ago

1.0.394

4 years ago

1.0.393

4 years ago

1.0.392

4 years ago

1.0.391

4 years ago

1.0.390

4 years ago

1.0.389

4 years ago

1.0.388

4 years ago

1.0.387

4 years ago

1.0.386

4 years ago

1.0.385

4 years ago

1.0.384

4 years ago

1.0.383

4 years ago

1.0.382

4 years ago

1.0.381

4 years ago

1.0.380

4 years ago

1.0.379

4 years ago

1.0.378

4 years ago

1.0.377

4 years ago

1.0.376

4 years ago

1.0.375

4 years ago

1.0.374

4 years ago

1.0.373

4 years ago

1.0.372

4 years ago

1.0.371

4 years ago

1.0.370

4 years ago

1.0.369

4 years ago

1.0.368

4 years ago

1.0.367

4 years ago

1.0.366

4 years ago

1.0.365

4 years ago

1.0.364

4 years ago

1.0.363

4 years ago

1.0.362

4 years ago

1.0.361

4 years ago

1.0.360

4 years ago

1.0.359

4 years ago

1.0.358

4 years ago

1.0.357

4 years ago

1.0.356

4 years ago

1.0.355

4 years ago

1.0.354

4 years ago

1.0.353

4 years ago

1.0.352

4 years ago

1.0.351

4 years ago

1.0.350

4 years ago

1.0.349

4 years ago

1.0.348

4 years ago

1.0.347

4 years ago

1.0.346

4 years ago

1.0.345

4 years ago

1.0.344

4 years ago

1.0.343

4 years ago

1.0.342

4 years ago

1.0.341

4 years ago

1.0.340

4 years ago

1.0.338

4 years ago

1.0.339

4 years ago

1.0.337

4 years ago

1.0.336

4 years ago

1.0.335

4 years ago

1.0.334

4 years ago

1.0.333

4 years ago

1.0.332

4 years ago

1.0.331

4 years ago

1.0.330

4 years ago

1.0.329

4 years ago

1.0.327

4 years ago

1.0.328

4 years ago

1.0.326

4 years ago

1.0.325

4 years ago

1.0.324

4 years ago

1.0.323

4 years ago

1.0.322

4 years ago

1.0.321

4 years ago

1.0.320

4 years ago

1.0.319

4 years ago

1.0.318

4 years ago

1.0.317

4 years ago

1.0.316

4 years ago

1.0.315

4 years ago

1.0.314

4 years ago

1.0.313

4 years ago

1.0.312

4 years ago

1.0.311

4 years ago

1.0.310

4 years ago

1.0.307

4 years ago

1.0.309

4 years ago

1.0.308

4 years ago

1.0.306

4 years ago

1.0.305

4 years ago

1.0.304

4 years ago

1.0.303

4 years ago

1.0.302

4 years ago

1.0.301

4 years ago

1.0.300

4 years ago

1.0.299

4 years ago

1.0.298

4 years ago

1.0.297

4 years ago

1.0.296

4 years ago

1.0.295

4 years ago

1.0.294

4 years ago

1.0.293

4 years ago

1.0.292

4 years ago

1.0.291

4 years ago

1.0.290

4 years ago

1.0.289

4 years ago

1.0.288

4 years ago

1.0.287

4 years ago

1.0.286

4 years ago

1.0.285

4 years ago

1.0.284

4 years ago

1.0.283

4 years ago

1.0.282

4 years ago

1.0.281

4 years ago

1.0.280

4 years ago

1.0.279

4 years ago

1.0.278

4 years ago

1.0.277

4 years ago

1.0.276

4 years ago

1.0.275

4 years ago

1.0.274

4 years ago

1.0.273

4 years ago

1.0.272

4 years ago

1.0.271

4 years ago

1.0.270

4 years ago

1.0.269

4 years ago

1.0.268

4 years ago

1.0.267

4 years ago

1.0.266

4 years ago

1.0.265

4 years ago

1.0.264

4 years ago

1.0.263

4 years ago

1.0.262

4 years ago

1.0.261

4 years ago

1.0.260

4 years ago

1.0.259

4 years ago

1.0.258

4 years ago

1.0.257

4 years ago

1.0.256

4 years ago

1.0.255

4 years ago

1.0.254

4 years ago

1.0.253

4 years ago

1.0.252

4 years ago

1.0.251

4 years ago

1.0.250

4 years ago

1.0.249

4 years ago

1.0.248

4 years ago

1.0.247

4 years ago

1.0.246

4 years ago

1.0.245

4 years ago

1.0.244

4 years ago

1.0.243

4 years ago

1.0.242

4 years ago

1.0.241

4 years ago

1.0.240

4 years ago

1.0.239

4 years ago

1.0.238

4 years ago

1.0.237

4 years ago

1.0.236

4 years ago

1.0.235

4 years ago

1.0.234

4 years ago

1.0.233

4 years ago

1.0.232

4 years ago

1.0.231

4 years ago

1.0.230

4 years ago

1.0.229

4 years ago

1.0.228

4 years ago

1.0.227

4 years ago

1.0.226

4 years ago

1.0.225

4 years ago

1.0.224

4 years ago

1.0.223

4 years ago

1.0.222

4 years ago

1.0.221

4 years ago

1.0.220

4 years ago

1.0.219

4 years ago

1.0.218

4 years ago

1.0.217

4 years ago

1.0.216

4 years ago

1.0.215

4 years ago

1.0.214

4 years ago

1.0.213

4 years ago

1.0.212

4 years ago

1.0.211

4 years ago

1.0.210

4 years ago

1.0.209

4 years ago

1.0.208

4 years ago

1.0.207

4 years ago

1.0.206

4 years ago

1.0.205

4 years ago

1.0.204

4 years ago

1.0.203

4 years ago

1.0.202

4 years ago

1.0.201

4 years ago

1.0.200

4 years ago

1.0.199

4 years ago

1.0.198

4 years ago

1.0.197

4 years ago

1.0.196

4 years ago

1.0.195

4 years ago

1.0.194

4 years ago

1.0.193

4 years ago

1.0.192

4 years ago

1.0.191

4 years ago

1.0.190

4 years ago

1.0.189

4 years ago

1.0.188

4 years ago

1.0.187

4 years ago

1.0.186

4 years ago

1.0.185

4 years ago

1.0.184

5 years ago

1.0.183

5 years ago

1.0.182

5 years ago

1.0.181

5 years ago

1.0.180

5 years ago

1.0.179

5 years ago

1.0.178

5 years ago

1.0.177

5 years ago

1.0.176

5 years ago

1.0.175

5 years ago

1.0.174

5 years ago

1.0.173

5 years ago

1.0.172

5 years ago

1.0.171

5 years ago

1.0.170

5 years ago

1.0.169

5 years ago

1.0.168

5 years ago

1.0.167

5 years ago

1.0.166

5 years ago

1.0.165

5 years ago

1.0.164

5 years ago

1.0.163

5 years ago

1.0.162

5 years ago

1.0.161

5 years ago

1.0.160

5 years ago

1.0.159

5 years ago

1.0.158

5 years ago

1.0.157

5 years ago

1.0.156

5 years ago

1.0.155

5 years ago

1.0.154

5 years ago

1.0.153

5 years ago

1.0.152

5 years ago

1.0.151

5 years ago

1.0.150

5 years ago

1.0.149

5 years ago

1.0.148

5 years ago

1.0.147

5 years ago

1.0.146

5 years ago

1.0.145

5 years ago

1.0.144

5 years ago

1.0.143

5 years ago

1.0.142

5 years ago

1.0.141

5 years ago

1.0.140

5 years ago

1.0.139

5 years ago

1.0.138

5 years ago

1.0.137

5 years ago

1.0.136

5 years ago

1.0.135

5 years ago

1.0.134

5 years ago

1.0.133

5 years ago

1.0.132

5 years ago

1.0.131

5 years ago

1.0.130

5 years ago

1.0.129

5 years ago

1.0.128

5 years ago

1.0.127

5 years ago

1.0.126

5 years ago

1.0.125

5 years ago

1.0.124

5 years ago

1.0.123

5 years ago

1.0.122

5 years ago

1.0.121

5 years ago

1.0.120

5 years ago

1.0.119

5 years ago

1.0.118

5 years ago

1.0.117

5 years ago

1.0.116

5 years ago

1.0.115

5 years ago

1.0.114

5 years ago

1.0.113

5 years ago

1.0.112

5 years ago

1.0.111

5 years ago

1.0.110

5 years ago

1.0.109

5 years ago

1.0.108

5 years ago

1.0.107

5 years ago

1.0.106

5 years ago

1.0.105

5 years ago

1.0.104

5 years ago

1.0.103

5 years ago

1.0.102

5 years ago

1.0.101

5 years ago

1.0.100

5 years ago

1.0.99

5 years ago

1.0.98

5 years ago

1.0.97

5 years ago

1.0.96

5 years ago

1.0.95

5 years ago

1.0.94

5 years ago

1.0.93

5 years ago

1.0.92

5 years ago

1.0.91

5 years ago

1.0.90

5 years ago

1.0.89

5 years ago

1.0.88

5 years ago

1.0.87

5 years ago

1.0.86

5 years ago

1.0.85

5 years ago

1.0.84

5 years ago

1.0.83

5 years ago

1.0.82

5 years ago

1.0.81

5 years ago

1.0.80

5 years ago

1.0.79

5 years ago

1.0.78

5 years ago

1.0.77

5 years ago

1.0.76

5 years ago

1.0.75

5 years ago

1.0.74

5 years ago

1.0.73

5 years ago

1.0.72

5 years ago

1.0.71

5 years ago

1.0.70

5 years ago

1.0.69

5 years ago

1.0.68

5 years ago

1.0.67

5 years ago

1.0.66

5 years ago

1.0.65

5 years ago

1.0.64

5 years ago

1.0.63

5 years ago

1.0.62

5 years ago

1.0.61

5 years ago

1.0.60

5 years ago

1.0.59

5 years ago

1.0.58

5 years ago

1.0.57

5 years ago

1.0.56

5 years ago

1.0.55

5 years ago

1.0.54

5 years ago

1.0.53

5 years ago

1.0.52

5 years ago

1.0.51

5 years ago

1.0.50

5 years ago

1.0.49

5 years ago

1.0.48

5 years ago

1.0.47

5 years ago

1.0.46

5 years ago

1.0.45

5 years ago

1.0.44

5 years ago

1.0.43

5 years ago

1.0.42

5 years ago

1.0.41

5 years ago

1.0.40

5 years ago

1.0.39

5 years ago

1.0.38

5 years ago

1.0.37

5 years ago

1.0.36

5 years ago

1.0.35

5 years ago

1.0.34

5 years ago

1.0.33

5 years ago

1.0.32

5 years ago

1.0.31

5 years ago

1.0.30

5 years ago

1.0.29

5 years ago

1.0.28

5 years ago

1.0.27

5 years ago

1.0.26

5 years ago

1.0.25

5 years ago

1.0.24

5 years ago

1.0.23

5 years ago

1.0.22

5 years ago

1.0.21

5 years ago

1.0.20

5 years ago

1.0.19

5 years ago

1.0.18

5 years ago

1.0.17

5 years ago

1.0.16

5 years ago

1.0.15

5 years ago

1.0.14

5 years ago

1.0.13

5 years ago

1.0.12

5 years ago

1.0.11

5 years ago

1.0.10

5 years ago

1.0.9

5 years ago

1.0.8

5 years ago

1.0.7

5 years ago

1.0.6

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago