@cycosoft/eyas
v4.0.1
Published
Simplified Hands-on Testing for Web Applications
Maintainers
Readme
The Pitch
Bundle your app from any branch, and share it with stakeholders to test your changes using Eyas Desktop. Simplify the feedback loop before merging. Less bugs, faster deployment cycles, reduced stress.
- 🎨 A/B Test Design Changes
- 🚀 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-devConfiguration
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|}` }
*/],
// options for the test
outputs: {
// The number of hours from build time until the test 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 file for use with the installed version of Eyas
npm run build-my-project && npx eyas fileOutputs
web: Outputseyas.jsonto yourconfig.sourcedirectory 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 containeyas.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
file: Creates an*.eyasfile 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.
db: (Deprecated) Creates an*.eyasfile of project production output + test config- ⚠️ Deprecated: The
dbcommand is deprecated and will be removed in the future. Please usefileinstead. - Same functionality as
filecommand
- ⚠️ Deprecated: The
Tips
- Add
eyas-*to your.gitignoreto 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 )
- Licensed under the MIT License
- View terms of use
- View privacy policy
- Logo source design by Freepik
- Analytics data collected: See METRICS.md
Eyas: Falconry. a young falcon or hawk taken from the nest for training.
