How to use @artsy/express-reloadable - 7 common examples

To help you get started, we’ve selected a few @artsy/express-reloadable examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github artsy / positron / src / boot.js View on Github external
artsyXapp.init(xappConfig, () => {
  if (isDevelopment) {
    app.use(require("./client/lib/webpack-dev-server"))

    // Enable server-side code hot-swapping on change
    const mountAndReload = createReloadable(app, require)

    app.use(
      "/api",
      mountAndReload(path.resolve("src/api"), {
        mountPoint: "/api",
      })
    )

    invalidateUserMiddleware(app)

    mountAndReload(path.resolve("src/client"), {
      watchModules: ["@artsy/reaction"],
    })

    // Staging, Prod
  } else {
github damassi / isomorphic-relay-app / _found-relay / index.js View on Github external
log: false,
    })
  )
  app.use(
    require('webpack-dev-middleware')(compiler, {
      noInfo: true,
      quiet: true,
      publicPath: config.output.publicPath,
      serverSideRender: true,
      stats: {
        colors: true,
      },
    })
  )

  const mountAndReload = createReloadable(app, require)
  app.use(mountAndReload(path.resolve(__dirname, 'src')))
} else {
  app.use(require('src'))
}

// Loadable.preloadAll().then(() => {
app.listen(PORT, () => {
  const bootMessage = isDevelopment
    ? `\n[App] Booting...  \n`
    : `\n[App] Started on http://localhost:5000  \n`

  console.log(bootMessage)
  // })
})
github artsy / stitch / examples / 6-isomorphic-react-styled-components-backbone-pug-webpack / index.js View on Github external
app.set('views', 'templates')
app.use(express.static('public'))
app.use(logger)

// Webpack / HMR
app.use(require('webpack-hot-middleware')(compiler))
app.use(require('webpack-dev-middleware')(compiler, {
  noInfo: true,
  publicPath: config.output.publicPath,
  serverSideRender: true,
  stats: {
    colors: true
  }
}))

const mountAndReload = createReloadable(app, require)

// Apps
app.use(mountAndReload(path.resolve(__dirname, 'apps/home')))
app.use(mountAndReload(path.resolve(__dirname, 'apps/backbone')))
app.use(mountAndReload(path.resolve(__dirname, 'apps/styled-components')))

app.listen(3000, () => {
  console.log('Listening on port 3000.')
})
github artsy / metaphysics / index.js View on Github external
}
    cache
      .isAvailable()
      .then(stats => {
        return res.status(200).end()
      })
      .catch(err => {
        return res.status(503).end()
      })
  })

  app.all("/graphql", (_req, res) => res.redirect("/"))

  if (isDevelopment) {
    const { createReloadable } = require("@artsy/express-reloadable")
    const mountAndReload = createReloadable(app, require)
    mountAndReload("./src")
  } else {
    app.use(require("./src").default)
  }

  server = require("http-shutdown")(
    app.listen(port, () =>
      info(`[Metaphysics] Listening on http://localhost:${port}`)
    )
  )

  // General error handler, should be last (and after Sentry's).
  app.use(errorHandler)
}
github artsy / express-reloadable / example / index.js View on Github external
const express = require('express')
const glob = require('glob')
const path = require('path')
const { createReloadable, isDevelopment } = require('@artsy/express-reloadable')

const app = express()

if (isDevelopment) {
  const mountAndReload = createReloadable(app, require)

  const modules = glob.sync('./components/**/*.js').map(name => path.resolve(name))

  // Note that if you need to mount an app at a particular root (`/api`), pass
  // in `mountPoint` as an option.
  app.use('/api', mountAndReload(path.resolve(__dirname, 'api'), {
    mountPoint: '/api',
    watchModules: [
      ...modules
      // or, `some-linked-npm-module`
    ]
  }))

  // Otherwise, just pass in the path to the express app and everything is taken care of
  mountAndReload(path.resolve(__dirname, 'client'))
} else {
github damassi / isomorphic-relay-app / relay-modern / index.js View on Github external
log: false,
    })
  )
  app.use(
    require('webpack-dev-middleware')(compiler, {
      noInfo: true,
      quiet: true,
      publicPath: config.output.publicPath,
      serverSideRender: true,
      stats: {
        colors: true,
      },
    })
  )

  const mountAndReload = createReloadable(app, require)
  app.use(mountAndReload(path.resolve(__dirname, 'src')))
} else {
  app.use(require('src'))
}

Loadable.preloadAll().then(() => {
  app.listen(PORT, () => {
    const bootMessage = isDevelopment
      ? `\n[App] Booting...  \n`
      : `\n[App] Started on http://localhost:5000  \n`

    console.log(bootMessage)
  })
})
github damassi / isomorphic-relay-app / relay-modern-found / index.js View on Github external
app.use(
    require('webpack-hot-middleware')(compiler, {
      log: false,
    })
  )
  app.use(
    require('webpack-dev-middleware')(compiler, {
      noInfo: true,
      quiet: true,
      publicPath: config.output.publicPath,
      serverSideRender: true,
      stats: 'minimal',
    })
  )

  const mountAndReload = createReloadable(app, require)
  app.use(
    mountAndReload(path.resolve(__dirname, 'src'), {
      watchModules: ['react-relay-network-modern-ssr'],
    })
  )
} else {
  app.use(require('src'))
}

Loadable.preloadAll().then(() => {
  app.listen(PORT, () => {
    const bootMessage = isDevelopment
      ? `\n[App] Booting...  \n`
      : `\n[App] Started on http://localhost:5000  \n`

    console.log(bootMessage)

@artsy/express-reloadable

Development tool that enables hot-swapping Express server code without a restart

MIT
Latest version published 2 years ago

Package Health Score

51 / 100
Full package analysis

Popular @artsy/express-reloadable functions