Options
All
  • Public
  • Public/Protected
  • All
Menu

gulp-deploy-http-push

Language Build Status Coveralls npm package npm downloads

gulp-deploy-http-push 是一个支持FSR安全推送部署的客户端插件,是 fis3-deploy-http-push 的gulp版本,具备完全一样的功能:

  • TOKEN验证
  • TOKEN缓存
    • 优先共用FIS3的deploy配置 $HOME/.fis3-tmp/deploy.json,避免两种插件导致频繁验证
    • 其次使用$HOME/.gulp-deploy-http-push.json
  • 文件推送

Install

npm i gulp-deploy-http-push --save-dev

Example

import * as gulp from 'gulp';
import { httpPush } from 'gulp-deploy-http-push';

const PUSH = 'http://xxxxx:8210';

gulp.src(
    `${__dirname}/src/**`, {
    base: `${__dirname}/src`,
  },
).pipe(httpPush([
  {
    host: PUSH,
    match: '/**/*.tpl',
    to: '/home/work/xxx/template/', // 注意这个是指的是测试机器的路径,而非本地机器
  },
  {
    host: PUSH,
    match: '/static/**',
    to: '/home/work/xxx/webroot/', // 注意这个是指的是测试机器的路径,而非本地机器
  },
]));

API

API DOC

其他

核心代码重构自FIS3版本,因FSR接口不是开源的,所以核心实现保留写法(因此也不优雅)。模块导出的另一个Deploy方法,是支持FIS3流的一层封装,可验证功能或用于二次开发FIS3插件(目前可以完全替代fis3-deploy-http-push)。

Index

Variables

Const HOME

HOME: string = homedir()

Let TOKEN_FILE

TOKEN_FILE: string = `${HOME}/.fis3-tmp/deploy.json`

Const TOKEN_PATH

TOKEN_PATH: string = resolve(TOKEN_FILE)

Const Transform

Transform: any = stream.Transform

Functions

Deploy

  • 兼容FIS3-DEPLOY-HTTP-PUSH的Deploy方法 可以直接替换其对应FIS插件

    Parameters

    Returns void

blod

  • blod(str: string): string
  • Parameters

    • str: string

    Returns string

fetch

  • fetch(url: any, data: any, callback: any): void
  • Parameters

    • url: any
    • data: any
    • callback: any

    Returns void

filterList

  • filterList(patterns: string[] | string, option?: IOptions): string[]
  • 根据glob配置筛选符合的list

    Parameters

    • patterns: string[] | string
    • Optional option: IOptions

    Returns string[]

fupload

  • fupload(url: any, opt: any, data: object, content: any, subpath: any, callback: any): void
  • 遵从RFC规范的文件上传功能实现

    memberof

    fis.util

    name

    upload

    function

    Parameters

    • url: any

      上传的url

    • opt: any

      配置

    • data: object

      要上传的formdata,可传null

      • [index: string]: string
    • content: any

      上传文件的内容

    • subpath: any

      上传文件的文件名

    • callback: any

      上传后的回调

    Returns void

getToken

  • Returns IToken

getdate

  • getdate(): string
  • Returns string

green

  • green(str: string): string
  • Parameters

    • str: string

    Returns string

grey

  • grey(str: string): string
  • Parameters

    • str: string

    Returns string

httpPush

  • Parameters

    Returns any

include

  • include(filePath: string, patterns: string[] | string, option?: IOptions): boolean
  • 判断文件filePath是否在规则覆盖范围内

    Parameters

    • filePath: string
    • patterns: string[] | string
    • Optional option: IOptions

    Returns boolean

parseUrl

  • Parameters

    Returns IOption

requireEmail

  • requireEmail(authApi: any, validateApi: any, info: any, cb: any): void
  • Parameters

    • authApi: any
    • validateApi: any
    • info: any
    • cb: any

    Returns void

requireToken

  • requireToken(validateApi: any, info: any, cb: any): void
  • Parameters

    • validateApi: any
    • info: any
    • cb: any

    Returns void

upload

  • upload(receiver: any, to: any, data: any, release: any, content: any, file: IFile, callback: any): void
  • Parameters

    • receiver: any
    • to: any
    • data: any
    • release: any
    • content: any
    • file: IFile
    • callback: any

    Returns void

writeToken

  • writeToken(options: any): void
  • Parameters

    • options: any

    Returns void

yellow

  • yellow(str: string): string
  • Parameters

    • str: string

    Returns string

Object literals

Const Text

Text: object

blod

blod: blod

green

green: green

grey

grey: grey

yellow

yellow: yellow