npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@cycosoft/eyas

v3.5.0

Published

Simplified Hands-on Testing for Web Applications

Downloads

440

Readme

The Pitch

You bundle your app in any state with the CLI through one of the available methods, and your consumer gets to test your changes with the Eyas runner.

Reduce and simplify the feedback loop with any stakeholder & any team size, regardless of their technical ability. Less bugs, faster deployment cycles, reduced stress ...for free.

  • 🎨 A/B Test Design Changes
  • 👩‍💻 Allow POs to Test UX
  • 🚀 Get Pre-Merge QA Sign-Off
  • 🌍 Test Against Any Environment
  • 📢 Get Early Customer Feedback

Table of Contents

Install

# Install the CLI
npm install @cycosoft/eyas --save-dev

Configuration

The CLI will attempt to run without a configuration file by using the values in this example .eyas.config.js. Example overrides are provided as comments.

// <projectRoot>/.eyas.config.js
module.exports = {
  // From <projectRoot>, this is the path to your production output i.e. `npm run build` output
  source: `dist`,
  // Simulate a domain for the test (accepts '' || [''] || [{ url, title }])
  domains: [
    `eyas://local.test`
    /*
      { url: `dev.cycosoft.com`, title: `Development` },
      { url: `staging.cycosoft.com`, title: `Staging` },
      { url: `cycosoft.com`, title: `Production` } // Prod URLs are helpful, but under careful consideration.
    */
  ],
  // The name of your project
  title: ``,
  // The version of your project Eyas will be built from. You can alternatively set it to your package.json version for example.
  version: `<current-branch>.<current-commit>`,
  // Additional screen sizes to test your application at
  viewports: [/* { label: `iPad Pro`, width: 1024, height: 1366 } */],
  // Custom items for link menu with support for getting user input
  links: [/*
    { label: `Cycosoft, LLC`, url: `cycosoft.com`, external: true (open in browser) },
    { label: `Variables Demo`, url: `{testdomain}?id={int}&msg={str}&go={bool}&list={item1|item2|}` }
  */]
  // File outputs
  outputs: {
    // Build a Windows distributable for `eyas bundle` command (auto-detected if not set)
    windows: true,
    // Build a MacOS distributable for `eyas bundle` command (auto-detected if not set)
    mac: true,
    // The number of hours from build time until the distributable expires
    expires: 168 // (range: 1-720 hours)
  }
};

Usage

# Outputs `eyas.json` to your `config.source` directory for deployment to a web server
npm run build-my-project && npx eyas web
# Generates an Eyas test database for use with the installed version of Eyas
npm run build-my-project && npx eyas db
# Packages the configured app to a distributable zip
npm run build-my-project && npx eyas bundle

Outputs

  • web: Outputs eyas.json to your config.source directory for deployment to a web server
    • Requires end user to have Eyas installed
    • Share a link to directory hosting the file as eyas://branch-42.example.com/test. Path cannot contain eyas.json, as Eyas will assume the path is a directory.
    • Requires a secure web server to host.
    • Recommended way to best control access to your tests. (e.g. delete source or require VPN)
    • View a demo at https://launch.eyas.dev/demo.eyas.dev
  • db: Creates an *.eyas file of project production output + test config
    • Requires end user to have Eyas installed
    • Outputs to ./eyas-dist/
    • About the size of the project production output
    • Recommended for end-users who do frequent testing, and do not have the benefit of hosting build artifacts on a server.
  • bundle: Packages project production output, test config & Eyas for each enabled platform
    • Does not require Eyas to be installed
    • Outputs to ./eyas-dist/${title} - ${version}.${platform}.zip
    • 60mb - 100mb range
    • Recommended for one-off testing without installing Eyas to your local machine.

Tips

  • Add eyas-* to your .gitignore to prevent outputs from being committed to your repo
  • View documented changes at CHANGELOG.md
  • While Eyas is intended to be used for testing in lower environments, testing fixes against production can be incredibly valuable when working directly with customers. It is advisable to use day-of time limits in these cases, and very importantly that your test is branched only from the commit currently in production.

The Fine Print

🆘 Support is available via ( https://github.com/cycosoft/Eyas/issues )

Eyas: Falconry. a young falcon or hawk taken from the nest for training.

[Back to Top]