New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

swiff-4

Package Overview
Dependencies
Maintainers
0
Versions
93
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

swiff-4

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

latest
npmnpm
Version
8.2.8
Version published
Maintainers
0
Created
Source

Swiff 2024

Note: Currently in Development (Will merge to Swiff after approval)

Swiff streamlines common SSH tasks during website/app development, saving you valuable time.

Key Features

🚀 Folder Synchronization

Keep folders in sync between servers effortlessly.

💫 Database Management

Manage databases between servers with automatic backups.

🎩 Composer File Management

Transfer composer files between servers with automatic backups.

💻 Remote Terminal Connection

Launch an SSH session directly into the remote site/app folder.

💻 Logger

Access all logs with swiff.log.

Getting Started

  • Install Swiff globally with npm:

    npm install --global swiff-4@latest
    
  • Run Swiff:

    swiff-4
    

Additional Features

  • Custom SSH Identity: Swiff uses your identity located at /Users/[currentUser]/.ssh/id_rsa. Specify a custom SSH key path in your .env file with:

    SWIFF_CUSTOM_KEY="/Users/[your-user]/.ssh/[key-filename]"
    
  • Gzipped Backups: Automatically back up and gzip your files and databases whenever they change.

  • Disable Specific Tasks: Specify tasks to disable via a config setting.

  • Dotenv Setup: Required .env

# The environment currently running in ('dev', 'staging', 'production', etc.)
ENVIRONMENT="dev"

SECURITY_KEY=""

DB_USER="db"
DB_PASSWORD="db"
DB_DATABASE="db"
DB_PORT="3306"
DB_DRIVER="mysql"
DB_SERVER="localhost"
DB_TABLE_PREFIX="craft"

Also this can be prefixed in swiff.config.js

  env: {
    prefix: "CRAFT_",
  },
  • Folder Sync Enhancements: New features include see diff and validation sync with git.

  • Enhanced Logger: swiff.log includes max size settings to manage log file size:

    logging: {
      enabled: true,
      dir: '', // Default root: "./storage/logs/"
      maxSize: 10 * 1024 * 1024, // Recommended 10MB max log file size
    },
    
  • Multi-Environment Support: Must have defaultEnvironment in environments object.

    defaultEnvironment: "staging",
    environments: {
      staging: {
        user: "",   
        host: "",  
        appPath: "",
        port: 22,
      },
      production: {
        user: "",   
        host: "",  
        appPath: "",    
        port: 22,
      },
    },
    

Requirements

Swiff requires Node.js LTS version (16.0.0+).

Place the following in swiff.config.js at the root of your application:

export default {
  defaultEnvironment: "staging",
  logging: {
    enabled: true,
    // dir: '', // Default root: "./storage/logs/"
    maxSize: 10 * 1024 * 1024, // Recommended 10MB max log file size
  },
  environments: {
    staging: {
      user: "",   
      host: "",  
      appPath: "",
      port: 22,
    },
    production: {
      user: "",   
      host: "",  
      appPath: "",    
      port: 22,
    },
  },
  local: {
    ddev: true,
  },
  env: {
    prefix: null, // Example: "CRAFT_" for projects above version 4
  },
  pushFolders: [
    // { path: "config", exclude: "/project/*" },
    // 'templates',
    // 'public/dist'
  ],
  pullFolders: [
    // 'public/assets/volumes'
  ],
  disabled: ["databasePush"],
};

Swiff works with MySQL databases and supports ddev (requires local.ddev = true).

Technology

  • Node.js - JavaScript runtime built on Chrome's V8 engine
  • Ink 2 - React for interactive command-line apps
  • Babel - JavaScript transpiler
  • Rollup - JavaScript module bundler
  • Prettier - Code formatter
  • Pino - Logger

Credits

Keywords

developer-tools

FAQs

Package last updated on 29 Jul 2024

Did you know?

Socket

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.

Install

Related posts