Coder Social home page Coder Social logo

reload-server's Introduction

reload-server

Runs commands when files change then sends an event to the client over SSE.

TODO

  • Inject reload script into the client server side instead of importing it
  • ESBuild outputs empty app.js files when there's a build error so the client won't auto reconnect (non-issue?)
  • Refine the file extension flag syntax. ex: --ext:js <command> --ext:css <command>
  • Use http2?

Usage

Example using a makefile. The --bang flag runs the following command immediately after the server starts. Flags like --js and -scss are flags that correlate to file extensions. These extension flags can be anything.

reload-server \
  --bang "$(MAKE) css js html" \
  --scss "$(MAKE) css" \
  --js "$(MAKE) js" \
  --watch "src"

Include this in your JavaScript.

if (DEV === true) {
  const source = new EventSource('/reload')

  source.onmessage = body => {
    if (body.data === 'connect') {
      console.log('Connected to automatic reload')
      return // stop execution
    }

    if (body.data === 'reload') {
      window.location.reload()
      return // stop execution
    }

    if (body.data === undefined) {
      console.log('Heartbeat from automatic reload')
    }
  }
}

reload-server's People

Contributors

whaaaley avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.