R/dev-use_plumber.R

Defines functions dev_use_plumber

Documented in dev_use_plumber

#' @title
#' Use Plumber Backend
#'
#' @description
#' This adds a scaffold and run utilities that allow using plumber as a backend
#' for a static webpack application.
#'
#' @export
dev_use_plumber <- function(envir = parent.frame()) {
  # Use Plumber
  usethis::use_package("plumber")
  # Add the environment plugin
  config <- readLines("webpack.common.js")
  if (!any(grepl("require('webpack')", config))) {
    config <- c("const webpack = require('webpack');", config)
  }
  plugin <- "var plugins = [\nnew webpack.EnvironmentPlugin(['PLUMBER_BACKEND_API_URL']),"
  config[grepl("^var plugins = \\[", config)] <- plugin
  writeLines(config, "webpack.common.js")
  # Copy the right run utilities
  dev_copy_template(
    template    = "plumber.R",
    destination = here::here("R/plumber.R"),
    overwrite   = TRUE,
    envir       = envir
  )
}
tjpalanca/tjutils documentation built on Jan. 20, 2021, 2:01 p.m.