4.0.4 ā€¢ Published 9 days ago

swiff-4 v4.0.4

Weekly downloads
-
License
-
Repository
-
Last release
9 days ago

Swiff 2024

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-4

  2. Run swiff-4

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

This plugin requires an LTS Node version (v16.0.0+). filename: swiff.config.js add to root of your application.

/**
 * Swiff Project Configuration
 * Head to 'https://github.com/simple-integrated-marketing/swiff' for further information.
 */
// Remote SSH server details
export default {
  // set Default Environment  staging, production, etc !make sure server config consits with environment name
  environment: "staging",
  server: {
    staging: {
      // The SSH login username
      user: "",
      // The IP/hostname of the remote server
      // host: '100.100.100.100',
      host: "",
      // The working directory of the remote app folder
      // appPath: '/srv/users/[user]/apps/[app]',
      appPath: "",
      // The SSH port to connect on (22 is the SSH default)
      port: 22,
    },

  },
  local: {
    ddev: true,
  },
  // Folders to upload and sync with the server
  pushFolders: [
    // 'templates',
    // 'config',
    // 'public/assets/build'
  ],
  // Folders to pull new or changed files from
  pullFolders: [
    // 'public/assets/volumes'
  ],
  disabled: ["databasePush"],
};

Works with mysql database and ddev ( requires local.ddev = true)

Technology

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

Credits

Sounds by Emoji Sounds Created by @benrogerson and Sam Stevens Updated & Maintained by @suprim12

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

4.0.4

9 days ago

4.0.0

10 days ago

4.0.3

9 days ago

4.0.2

10 days ago

2.0.3

10 days ago

2.0.2

10 days ago

2.0.5

10 days ago

2.0.7

10 days ago

2.0.6

10 days ago

2.0.8

10 days ago

3.0.9

10 days ago

3.0.4

10 days ago

3.0.3

10 days ago

3.0.2

10 days ago

3.0.1

10 days ago

3.0.8

10 days ago

3.0.7

10 days ago

3.0.5

10 days ago

3.0.0

10 days ago

1.1.9

13 days ago

1.1.8

13 days ago

1.1.7

13 days ago

1.1.6

13 days ago

2.0.1

13 days ago

2.0.0

13 days ago

1.1.5

14 days ago

1.1.4

15 days ago

1.1.3

15 days ago

1.1.2

16 days ago

1.1.0

16 days ago

1.0.9

16 days ago

1.0.8

16 days ago

1.0.7

16 days ago

1.0.6

16 days ago

1.0.5

16 days ago

1.0.4

16 days ago

1.0.3

16 days ago

1.0.2

16 days ago

1.0.1

16 days ago

1.0.0

16 days ago