1.8.1 • Published 2 years ago

swiff-3 v1.8.1

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

Swiff

npm version

Swiff saves you time with common SSH tasks during the development of websites/apps

šŸš€ Folder push and pull Keep folders in sync between servers

šŸ’« Database push and pull Manage the database between servers (auto backup)

šŸŽ© Composer file push and pull Move composer files between servers (auto backup)

šŸ’» Remote terminal connection Launch a SSH session directly into the remote site/app folder

Getting started

  1. Install Swiff globally with npm: npm install --global swiff

  2. Run swiff within a project folder to start the task interface

Run swiff --help for a list of flags to run a specific task

Additional features

  • Custom SSH identity: Swiff will attempt to use your identity located at: /Users/[currentUser]/.ssh/id_rsa You can specify a custom SSH key path in your .env file with: SWIFF_CUSTOM_KEY="/Users/[your-user]/.ssh/[key-filename]"
  • Gzipped backups: Your files and database get backed up and gzipped whenever they change
  • Disable specific tasks: Specify the tasks to disable with a config setting

Requirements

Swiff requires MySQL to use the database features. We recommend using MariaDB, an enhanced, drop-in replacement for MySQL. brew install mariadb@10.2 (latest as of April 2019)

For the Database & Composer tasks, a PEM format SSH key is required Read about how to create and add a new SSH key

Running Windows or Linux? Swiff has been tested on macOS so issues are likely on other operating systems

Technology

  • Node.js - A JavaScript runtime built on Chrome's V8 JavaScript engine
  • Ink 2 - React for interactive command-line apps
  • Babel - JavaScript transpiling
  • Prettier - Code cleaning

Credits

Sounds by Emoji Sounds Created by @benrogerson and Sam Stevens

Swiff has been agency battletested by Simple who specialise in Craft CMS websites

"build:cjs": "babel --plugins @babel/plugin-transform-modules-commonjs src --out-dir dist/cjs --source-maps false  --out-file-extension .cjs",
"build:esm": "babel  src --out-dir dist/esm --out-file-extension .js",
"build:umd": "babel --plugins transform-react-jsx --plugins @babel/plugin-transform-modules-umd src --out-dir dist/umd",