Socket
Socket
Sign inDemoInstall

@hjgs/ftp-deploy

Package Overview
Dependencies
34
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @hjgs/ftp-deploy

Deploy files to a ftp server


Version published
Weekly downloads
11
decreased by-8.33%
Maintainers
1
Created
Weekly downloads
 

Readme

Source

ftp deploy 🚀

Syncs a local folder with a remote folder over ftp.

After the initial sync only differences are synced, making deployments super fast!

Latest Stable Version NPM Downloads


How to Run

Option 1 - Run via command line
  • Install the npm package using npm install @samkirkland/ftp-deploy --only=dev

  • Run via command line ftp-deploy --server ftp.samkirkland.com --username test@samkirkland.com --password \"CrazyUniquePassword&%123\"

  • Or you can add a script to make deployments easier

  • Add a new key to your package.json file under scripts section. See example below.

  • You can run the script using the following command npm run deploy (run this in the folder that has the package.json file)

Example of package.json:

{
  "scripts": {
    "deploy": "ftp-deploy --server ftp.samkirkland.com --username test@samkirkland.com --password \"CrazyUniquePassword&%123\"",
  },
}
Option 2 - Run programmatically
  • Install the npm package using npm install @samkirkland/ftp-deploy --only=dev
  • Import the code and use it in your code

Example of myCustomDeployment.js:

import { deploy, excludeDefaults } from "@samkirkland/ftp-deploy";

async function deployMyCode() {
  console.log("🚚 Deploy started");
  await deploy({
    server: "ftp.samkirkland.com",
    username: "username@samkirkland.com",
    password: `CrazyUniquePassword&%123`, // note: I'm using backticks here ` so I don't have to escape quotes
    exclude: [...excludeDefaults, "dontDeployThisFolder/**"] // excludeDefaults will exclude .git files and node_modules
  });
  console.log("🚀 Deploy done!");
}

deployMyCode();

Automatically Deploying

If you use github as source control you can automatically re-deploy your site on every git commit. Read more


Settings

To list all commands with examples simply run ftp-deploy without any options.

Key NameRequiredExampleDefault ValueDescription
--serverYesftp.samkirkland.comDeployment destination server
--usernameYesusername@samkirkland.comftp username
--passwordYesCrazyUniquePassword&%123ftp password, be sure to escape quotes and spaces
--portNo99021Server port to connect to (read your web hosts docs)
--protocolNoftpsftpftp: provides no encryption, ftps: full encryption newest standard (aka "explicit" ftps), ftps-legacy: full encryption legacy standard (aka "implicit" ftps)
--local-dirNo./myFolderToPublish/./Path to upload to on the server, must end with trailing slash /
--server-dirNoftp.samkirkland.com/./Folder to upload from, must end with trailing slash /
--state-nameNofolder/.sync-state.json.ftp-deploy-sync-state.jsonftp-deploy uses this file to track what's been deployed already, so only differences can be published. If you don't like the name or location you can customize it
--dry-runNotruefalsePrints which modifications will be made with current config options, but doesn't actually make any changes
--dangerous-clean-slateNotruefalseDeletes ALL contents of server-dir, even items marked as --exclude argument
--excludeNonuclearLaunchCodes.txt**/.git* **/.git*/** **/node_modules/**An array of glob patterns, these files will not be included in the publish/delete process
--log-levelNoinfoinfominimal: only important info, standard: important info and basic file changes, verbose: print everything the script is doing
--securityNostrictloosestrict: Reject any connection which is not authorized with the list of supplied CAs. loose: Allow connection even when the domain is not in certificate
--timeoutNo6000030000Timeout in milliseconds for FTP operations

Keywords

FAQs

Last updated on 07 Apr 2023

Did you know?

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc