🏩 A simple process manager for developers. Start apps from your browser and access them using local domains

Overview

hotel Mac/Linux Build Status Windows Build status

Start apps from your browser and use local domains/https automatically

Tip: if you don't enable local domains, hotel can still be used as a catalog of local servers.

Hotel works great on any OS (macOS, Linux, Windows) and with all servers ❤️

  • Node (Express, Webpack)
  • PHP (Laravel, Symfony)
  • Ruby (Rails, Sinatra, Jekyll)
  • Python (Django)
  • Docker
  • Go
  • Apache, Nginx
  • ...

To all the amazing people who have answered the Hotel survey, thanks so much <3 !

v0.8.0 upgrade

.localhost replaces .dev local domain and is the new default. See https://ma.ttias.be/chrome-force-dev-domains-https-via-preloaded-hsts/ for context.

If you're upgrading, please be sure to:

  1. Remove "tld": "dev" from your ~/.hotel/conf.json file
  2. Run hotel stop && hotel start
  3. Refresh your network settings

Support

If you are benefiting from hotel, you can support its development on Patreon.

You can view the list of Supporters here https://thanks.typicode.com.

Video

Features

  • Local domains - http://project.localhost
  • HTTPS via local self-signed SSL certificate - https://project.localhost
  • Wildcard subdomains - http://*.project.localhost
  • Works everywhere - macOS, Linux and Windows
  • Works with any server - Node, Ruby, PHP, ...
  • Proxy - Map local domains to remote servers
  • System-friendly - No messing with port 80, /etc/hosts, sudo or additional software
  • Fallback URL - http://localhost:2000/project
  • Servers are only started when you access them
  • Plays nice with other servers (Apache, Nginx, ...)
  • Random or fixed ports

Install

npm install -g hotel && hotel start

Hotel requires Node to be installed, if you don't have it, you can simply install it using one of the following method:

You can also visit https://nodejs.org.

Quick start

Local domains (optional)

To use local .localhost domains, you need to configure your network or browser to use hotel's proxy auto-config file or you can skip this step for the moment and go directly to http://localhost:2000

See instructions here.

Add your servers

# Add your server to hotel
~/projects/one$ hotel add 'npm start'
# Or start your server in the terminal as usual and get a temporary local domain
~/projects/two$ hotel run 'npm start' 

Visit localhost:2000 or http(s)://hotel.localhost.

Alternatively you can directly go to

http://localhost:2000/one
http://localhost:2000/two
http(s)://one.localhost
http(s)://two.localhost 

Popular servers examples

Using other servers? Here are some examples to get you started :)

hotel add 'ember server'                               # Ember
hotel add 'jekyll serve --port $PORT'                  # Jekyll
hotel add 'rails server -p $PORT -b 127.0.0.1'         # Rails
hotel add 'python -m SimpleHTTPServer $PORT'           # static file server (Python)
hotel add 'php -S 127.0.0.1:$PORT'                     # PHP
hotel add 'docker-compose up'                          # docker-compose
hotel add 'python manage.py runserver 127.0.0.1:$PORT' # Django
# ...

On Windows use "%PORT%" instead of '$PORT'

See a Docker example here..

Proxy requests to remote servers

Add your remote servers

~$ hotel add http://192.168.1.12:1337 --name aliased-address
~$ hotel add http://google.com --name aliased-domain 

You can now access them using

http://aliased-address.localhost # will proxy requests to http://192.168.1.12:1337
http://aliased-domain.localhost # will proxy requests to http://google.com

CLI usage and options

hotel add <cmd|url> [opts]
hotel run <cmd> [opts]

# Examples

hotel add 'nodemon app.js' --out dev.log  # Set output file (default: none)
hotel add 'nodemon app.js' --name name    # Set custom name (default: current dir name)
hotel add 'nodemon app.js' --port 3000    # Set a fixed port (default: random port)
hotel add 'nodemon app.js' --env PATH     # Store PATH environment variable in server config
hotel add http://192.168.1.10 --name app  # map local domain to URL

hotel run 'nodemon app.js'                # Run server and get a temporary local domain

# Other commands

hotel ls     # List servers
hotel rm     # Remove server
hotel start  # Start hotel daemon
hotel stop   # Stop hotel daemon

To get help

hotel --help
hotel --help <cmd>

Port

For hotel to work, your servers need to listen on the PORT environment variable. Here are some examples showing how you can do it from your code or the command-line:

var port = process.env.PORT || 3000
server.listen(port)
hotel add 'cmd -p $PORT'  # OS X, Linux
hotel add "cmd -p %PORT%" # Windows

Fallback URL

If you're offline or can't configure your browser to use .localhost domains, you can always access your local servers by going to localhost:2000.

Configurations, logs and self-signed SSL certificate

You can find hotel related files in ~/.hotel :

~/.hotel/conf.json
~/.hotel/daemon.log
~/.hotel/daemon.pid
~/.hotel/key.pem
~/.hotel/cert.pem
~/.hotel/servers/<app-name>.json

By default, hotel uses the following configuration values:

{
  "port": 2000,
  "host": '127.0.0.1',
  
  // Timeout when proxying requests to local domains
  "timeout": 5000,
  
  // Change this if you want to use another tld than .localhost
  "tld": 'localhost', 
  
  // If you're behind a corporate proxy, replace this with your network proxy IP (example: "1.2.3.4:5000")
  "proxy": false
}

To override a value, simply add it to ~/.hotel/conf.json and run hotel stop && hotel start

Third-party tools

FAQ

Setting a fixed port

hotel add --port 3000 'server-cmd $PORT' 

Adding X-Forwarded-* headers to requests

hotel add --xfwd 'server-cmd'

Setting HTTP_PROXY env

Use --http-proxy-env flag when adding your server or edit your server configuration in ~/.hotel/servers

hotel add --http-proxy-env 'server-cmd'

Proxying requests to a remote https server

hotel add --change-origin 'https://jsonplaceholder.typicode.com'

When proxying to a https server, you may get an error because your .localhost domain doesn't match the host defined in the server certificate. With this flag, host header is changed to match the target URL.

ENOSPC and EACCES errors

If you're seeing one of these errors in ~/.hotel/daemon.log, this usually means that there's some permissions issues. hotel daemon should be started without sudo and ~/.hotel should belong to $USER.

# to fix permissions
sudo chown -R $USER: $HOME/.hotel

See also, https://docs.npmjs.com/getting-started/fixing-npm-permissions

Configuring a network proxy IP

If you're behind a corporate proxy, replace "proxy" with your network proxy IP in ~/.hotel/conf.json. For example:

{
  "proxy": "1.2.3.4:5000"
}

License

MIT

Patreon - Supporters

Comments
  • What would be a better tld than .dev? [Feedback welcome]

    What would be a better tld than .dev? [Feedback welcome]

    Since .dev is a registered domain, sometimes it creates problem on OS X + Chrome like this one: https://github.com/typicode/hotel/issues/215 ERR_ICANN_NAME_COLLISION

    Unfortunately, .hotel is also a registered name ^^' so the next hotel default tld should be something unique and unregistered to avoid conflicts.

    What do you think would be a good tld for projects served by hotel :) ?

    http://app.<some new tld>
    

    Note: it can be anything there's no particular restriction for this local tld

    help wanted question 
    opened by typicode 54
  • Update webpack to the latest version 🚀

    Update webpack to the latest version 🚀

    ☝️ Greenkeeper’s updated Terms of Service will come into effect on April 6th, 2018.

    Version 4.0.0 of webpack was just published.

    Dependency webpack
    Current Version 3.11.0
    Type devDependency

    The version 4.0.0 is not covered by your current version range.

    If you don’t accept this pull request, your project will work just like it did before. However, you might be missing out on a bunch of new features, fixes and/or performance improvements from the dependency update.

    It might be worth looking into these changes and trying to get this project onto the latest version of webpack.

    If you have a solid test suite and good coverage, a passing build is a strong indicator that you can take advantage of these changes directly by merging the proposed change into your project. If the build fails or you don’t have such unconditional trust in your tests, this branch is a great starting point for you to work on the update.


    Release Notes v4.0.0

    Big changes

    • Environment
      • Node.js 4 is no longer supported. Source Code was upgraded to a higher ecmascript version.
    • Usage
      • You have to choose (mode or --mode) between two modes now: production or development
        • production enables all kind of optimizations to generate optimized bundles
        • development enables comments and hint for development and enables the eval devtool
        • production doesn't support watching, development is optimized for fast incremental rebuilds
        • production also enables module concatenating (Scope Hoisting)
        • You can configure this in detail with the flags in optimization.* (build your custom mode)
        • process.env.NODE_ENV are set to production or development (only in built code, not in config)
        • There is a hidden none mode which disables everything
    • Syntax
      • import() always returns a namespace object. CommonJS modules are wrapped into the default export
        • This probably breaks your code, if you used to import CommonJs with import()
    • Configuration
      • You no longer need to use these plugins:
        • NoEmitOnErrorsPlugin -> optimization.noEmitOnErrors (on by default in production mode)
        • ModuleConcatenationPlugin -> optimization.concatenateModules (on by default in production mode)
        • NamedModulesPlugin -> optimization.namedModules (on by default in develoment mode)
      • CommonsChunkPlugin was removed -> optimization.splitChunks, optimization.runtimeChunk
    • JSON
      • webpack now handles JSON natively
        • You may need to add type: "javascript/auto" when transforming JSON via loader to JS
        • Just using JSON without loader should still work
      • allows to import JSON via ESM syntax
        • unused exports elimination for JSON modules
    • Optimization
      • Upgrade uglifyjs-webpack-plugin to v1
        • ES15 support

    Big features

    • Modules
      • webpack now supports these module types:
        • javascript/auto: (The default one in webpack 3) Javascript module with all module systems enabled: CommonJS, AMD, ESM
        • javascript/esm: EcmaScript modules, all other module system are not available
        • javascript/dynamic: Only CommonJS and, EcmaScript modules are not available
        • json: JSON data, it's available via require and import
        • webassembly/experimental: WebAssembly modules (currently experimental)
      • javascript/esm handles ESM more strictly compared to javascript/auto:
        • Imported names need to exist on imported module
        • Dynamic modules (non-esm, i. e. CommonJs) can only imported via default import, everything else (including namespace import) emit errors
      • In .mjs modules are javascript/esm by default
      • WebAssembly modules
        • can import other modules (JS and WASM)
        • Exports from WebAssembly modules are validated by ESM import
          • You'll get a warning/error when trying to import a non-existing export from WASM
        • can only be used in async chunks. They doesn't work in initial chunks (would be bad for web performance)
          • Import modules using WASM via import()
        • This is an experimental feature and subject of change
    • Optimization
      • sideEffects: false is now supported in package.json
        • sideEffects in package.json also supports glob expressions and arrays of glob expressions
      • Instead of a JSONP function a JSONP array is used -> async script tag support, order no longer matter
      • New optimization.splitChunks option was introduced
        Details: https://gist.github.com/sokra/1522d586b8e5c0f5072d7565c2bee693
      • Dead branches are now removed by webpack itself
        • Before: Uglify removed the dead code
        • Now: webpack removes the dead code (in some cases)
        • This prevents crashing when import() occur in a dead branch
    • Syntax
      • webpackInclude and webpackExclude are supported by the magic comment for import(). They allow to filter files when using a dynamic expression.
      • Using System.import() now emits a warning
        • You can disable the warning with Rule.parser.system: true
        • You can disable System.import with Rule.parser.system: false
    • Configuration
      • Resolving can now be configured with module.rules[].resolve. It's merged with the global configuration.
      • optimization.minimize has been added to switch minimizing on/off
        • By default: on in production mode, off in development mode
      • optimization.minimizer has been added to configurate minimizers and options
    • Usage
      • Some Plugin options are now validated
      • CLI has been move to webpack-cli, you need to install webpack-cli to use the CLI
      • The ProgressPlugin (--progress) now displays plugin names
        • At least for plugins migrated to the new plugin system
    • Performance
      • UglifyJs now caches and parallizes by default
      • Multiple performance improvements, especially for faster incremental rebuilds
      • performance improvement for RemoveParentModulesPlugin
    • Stats
      • Stats can display modules nested in concatenated modules

    Features

    • Configuration
      • Module type is automatically choosen for mjs, json and wasm extensions. Other extensions need to be configured via module.rules[].type
      • Incorrect options.dependencies configurations now throw error
      • sideEffects can be overriden via module.rules
      • output.hashFunction can now be a Constructor to a custom hash function
        • You can provide a non-cryto hash function for performance reasons
      • add output.globalObject config option to allow to choose the global object reference in runtime exitCode
    • Runtime
      • Error for chunk loading now includes more information and two new properties type and request.
    • Devtool
      • remove comment footer from SourceMaps and eval
      • add support for include test and exclude to the eval source map devtool plugin
    • Performance
      • webpacks AST can be passed directly from loader to webpack to avoid extra parsing
      • Unused modules are no longer unnecessarly concatenated
      • Add a ProfilingPlugin which write a (Chrome) profile file which includes timings of plugins
      • Migrate to using for of instead of forEach
      • Migrate to using Map and Set instead of Objects
      • Migrate to using includes instead of indexOf
      • Replaced some RegExp with string methods
      • Queue don't enqueues the same job twice
      • Use faster md4 hash for hashing by default
    • Optimization
      • When using more than 25 exports mangled export names are shorter.
      • script tags are no longer text/javascript and async as this are the default values (saves a few bytes)
      • The concatenated module now generates a bit less code
      • constant replacements now don't need __webpack_require__ and argument is omitted
    • Defaults
      • webpack now looks for the .wasm, .mjs, .js and .json extensions in this order
      • output.pathinfo is now on by default in develoment mode
      • in-memory caching is now off by default in production
      • entry defaults to ./src
      • output.path defaults to ./dist
      • Use production defaults when omiting the mode option
    • Usage
      • Add detailed progress reporting to SourceMapDevToolPlugin
      • removed plugins now give a useful error message
    • Stats
      • Sizes are now shown in kiB instead of kB in Stats
      • entrypoints are now shows by default in Stats
      • chunks now display <{parents}> >{children}< and ={siblings}= in Stats
      • add buildAt time to stats
      • stats json now includes the output path
    • Syntax
      • A resource query is supported in context
      • Referencing entry point name in import() now emits a error instead of a warning
      • Upgraded to acorn 5 and support ES 2018
    • Plugins
      • done is now an async hook

    Bugfixes

    • Generated comments no longer break on */
    • webpack no longer modifies the passed options object
    • Compiler "watch-run" hook now has the Compiler as first parameter
    • add output.chunkCallbackName to the schema to allow configurating WebWorker template
    • Using module.id/loaded now correctly bails out of Module Concatentation (Scope Hoisting)
    • OccurenceOrderPlugin now sorts modules in correct order (instead of reversed)
    • timestamps for files are read from watcher when calling Watching.invalidate
    • fix incorrect -! behavior with post loaders
    • add run and watchRun hooks for MultiCompiler
    • this is now undefined in ESM
    • VariableDeclaration are correctly identified as var, const or let
    • Parser now parse the source code with the correct source type (module/script) when the module type javascript/dynamic or javascript/module is used.
    • don't crash on missing modules with buildMeta of null
    • add original-fs module for electron targets
    • HMRPlugin can be added to the Compiler outside of plugins

    Internal changes

    • Replaced plugin calls with tap calls (new plugin system)
    • Migrated many deprecated plugins to new plugin system API
    • added buildMeta.exportsType: "default" for json modules
    • Remove unused methods from Parser (parserStringArray, parserCalculatedStringArray)
    • Remove ability to clear BasicEvaluatedExpression and to have multiple types
    • Buffer.from instead of new Buffer
    • Avoid using forEach and use for of instead
    • Use neo-async instead of async
    • Update tapable and enhanced-resolve dependencies to new major versions
    • Use prettier

    Removed features

    • removed module.loaders
    • removed loaderContext.options
    • removed Compilation.notCacheable flag
    • removed NoErrorsPlugin
    • removed Dependency.isEqualResource
    • removed NewWatchingPlugin
    • removed CommonsChunkPlugin

    Breaking changes for plugins/loaders

    • new plugin system
      • plugin method is backward-compatible
      • Plugins should use Compiler.hooks.xxx.tap(<plugin name>, fn) now
    • New major version of enhanced-resolve
    • Templates for chunks may now generate multiple assets
    • Chunk.chunks/parents/blocks are no longer Arrays. A Set is used internally and there are methods to access it.
    • Parser.scope.renames and Parser.scope.definitions are no longer Objects/Arrays, but Map/Sets.
    • Parser uses StackedSetMap (LevelDB-like datastructure) instead of Arrays
    • Compiler.options is no longer set while applying plugins
    • Harmony Dependencies has changed because of refactoring
    • Dependency.getReference() may now return a weak property. Dependency.weak is now used by the Dependency base class and returned in the base impl of getReference()
    • Constructor arguments changed for all Modules
    • Merged options into options object for ContextModule and resolveDependencies
    • Changed and renamed dependencies for `import()
    • Moved Compiler.resolvers into Compiler.resolverFactory accessible with plugins
    • Dependency.isEqualResource has been replaced with Dependency.getResourceIdentifier
    • Methods on Template are now static
    • A new RuntimeTemplate class has been added and outputOptions and requestShortener has been moved to this class
      • Many methods has been updated to use the RuntimeTemplate instead
      • We plan to move code which accesses the runtime to this new class
    • Module.meta has been replaced with Module.buildMeta
    • Module.buildInfo and Module.factoryMeta have been added
    • Some properties of Module have been moved into the new objects
    • added loaderContext.rootContext which points to the context options. Loaders may use it to make stuff relative to the application root.
    • add this.hot flag to loader context when HMR is enabled
    • buildMeta.harmony has been replaced with buildMeta.exportsType: "namespace
    • The chunk graph has changed:
      • Before: Chunks were connected with parent-child-relationships.
      • Now: ChunkGroups are connected with parent-child-relationships. ChunkGroups contain Chunks in order.
      • Before: AsyncDependenciesBlocks reference a list of Chunks in order.
      • Now: AsyncDependenciesBlocks reference a single ChunkGroup.
    • file/contextTimestamps are Maps now
    • map/foreach Chunks/Modules/Parents methods are now deprecated/removed
    • NormalModule accept options object in Constructor
    • Added required generator argument for NormalModule
    • Added createGenerator and generator hooks for NormalModuleFactory to customize code generation
    • Allow to customize render manifest for Chunks via hooks
    Commits

    The new version differs by 838 commits.

    • 213226e 4.0.0
    • fde0183 Merge pull request #6081 from webpack/formating/prettier
    • b6396e7 update stats
    • f32bd41 fix linting
    • 5238159 run prettier on existing code
    • 518d1e0 replace js-beautify with prettier
    • 4c25bfb 4.0.0-beta.3
    • dd93716 Merge pull request #6296 from shellscape/fix/hmr-before-node-stuff
    • 7a07901 Merge pull request #6563 from webpack/performance/assign-depth
    • c7eb895 Merge pull request #6452 from webpack/update_acorn
    • 9179980 Merge pull request #6551 from nveenjain/fix/templatemd
    • e52f323 optimize performance of assignDepth
    • 6bf5df5 Fixed template.md
    • 90ab23a Merge branch 'master' into fix/hmr-before-node-stuff
    • b0949cb add integration test for spread operator

    There are 250 commits in total.

    See the full diff

    FAQ and help

    There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


    Your Greenkeeper bot :palm_tree:

    greenkeeper 
    opened by greenkeeper[bot] 29
  • Can't connect to server on port XXXXX

    Can't connect to server on port XXXXX

    I'm having a problem when trying to access one of the projects through the .dev domain. The output that appears in the browser is as follows:

    Can't connect to server on port 45355. Server crashed or timeout of 5000ms exceeded. Retry or check logs.
    sh -c npm start
    
    
    > [email protected] start /home/julianorafael/Development/projects/pomodoro-app
    > cross-env NODE_ENV=development node server.dev.js
    
    Starting server...
    
    Server started
    Listening at localhost:3000
    
    opened by frontendwizard 21
  • Hotel for proxying from localnet

    Hotel for proxying from localnet

    If i run project inside vagrant or something like, it would be nice, if I can use hotel to proxying from localnte address (e.g. 192.168.56.101:8080).

    Also, I have a question. Can I use just localhost address (e.g. localhost:8080), not an command as a server

    opened by GomZik 15
  • hotel.localhost no longer works with Chrome & Chromium latest version on Ubuntu

    hotel.localhost no longer works with Chrome & Chromium latest version on Ubuntu

    Hi,

    Today after I've updated my Chrome and Chromium browser to the latest stable version, visiting hotel.localhost (including https) gives me the error

    ERR_CONNECTION_REFUSED

    Only works when I visited via http(s)://localhost:2000

    Checking the chrome proxy chrome://net-internals/#proxy shows:

    Use DIRECT connections.
    Source: SYSTEM FAILED
    

    Firefox and all other browsers works when I visited https://hotel.localhost and http://hotel.localhost

    I've also tried removing all extensions, still no dice.

    Both Chrome and Chromium browser on same version: Version 65.0.3325.181 (Official Build) (64-bit)

    Let me know if you need more info from me regarding this issue.

    Thanks

    opened by zimgodo 13
  • Update vue-loader to the latest version 🚀

    Update vue-loader to the latest version 🚀

    Version 13.0.3 of vue-loader just got published.

    Dependency vue-loader
    Current Version 12.2.2
    Type devDependency

    The version 13.0.3 is not covered by your current version range.

    Without accepting this pull request your project will work just like it did before. There might be a bunch of new features, fixes and perf improvements that the maintainers worked on for you though.

    I recommend you look into these changes and try to get onto the latest version of vue-loader. Given that you have a decent test suite, a passing build is a strong indicator that you can take advantage of these changes by merging the proposed change into your project. Otherwise this branch is a great starting point for you to work on the update.


    Commits

    The new version differs by 45 commits ahead by 45, behind by 2.

    • 674ea6a 13.0.3
    • a4a8e2f bump lockfile
    • 1cff850 keep path of source file in source map (#895)
    • c48b6c7 fix(transform-require): support ~/ aliases (#927)
    • 1172384 chore: Setup lint-staged with husky(pre-commit) (#914)
    • afdb06b Аixed a typo on line 111 (#925)
    • 4e5c1b0 typo (#917)
    • 5b13502 Setup eslint config for test files (#888)
    • f5b5979 chore(package): Bump updatable dependencies (#886)
    • b748a5a support postcss.options.plugins being a function (#866)
    • e6abc19 support comment option in template (#897)
    • 7253e32 Adds support for scoped selectors in @supports queries (#908)
    • e6d5956 fix css module HMR (#900)
    • 14b899e docs(ja): update ja docs
    • 62b698c docs(en/options): tweak esModule note

    There are 45 commits in total.

    See the full diff

    Not sure how things should work exactly?

    There is a collection of frequently asked questions and of course you may always ask my humans.


    Your Greenkeeper Bot :palm_tree:

    greenkeeper 
    opened by greenkeeper[bot] 13
  • Update sinon to the latest version 🚀

    Update sinon to the latest version 🚀

    ☝️ Greenkeeper’s updated Terms of Service will come into effect on April 6th, 2018.

    Version 5.0.0 of sinon was just published.

    Dependency sinon
    Current Version 4.4.6
    Type devDependency

    The version 5.0.0 is not covered by your current version range.

    If you don’t accept this pull request, your project will work just like it did before. However, you might be missing out on a bunch of new features, fixes and/or performance improvements from the dependency update.

    It might be worth looking into these changes and trying to get this project onto the latest version of sinon.

    If you have a solid test suite and good coverage, a passing build is a strong indicator that you can take advantage of these changes directly by merging the proposed change into your project. If the build fails or you don’t have such unconditional trust in your tests, this branch is a great starting point for you to work on the update.


    Commits

    The new version differs by 30 commits ahead by 30, behind by 123.

    • 2e455c6 Update docs/changelog.md and set new release id in docs/_config.yml
    • 7eee963 Add release documentation for v5.0.0
    • d93cb9d 5.0.0
    • b9c2c36 Update History.md and AUTHORS for new release
    • f1f8151 Add postinstall banner pointing to Open Collective
    • 5650f00 Docs: add migration guide for v5
    • ed3c9dc Docs: Added example for how to use restore
    • a1aced0 Simplify hasFunctionNameSupport
    • 85e3f91 Fix broken test in IE11
    • 6ed81ce Improve language of fake documentation
    • 67d0bd8 Add yields and yieldsTo to fake
    • 8c1e221 Extract nextTick to own file
    • 5fa0e66 Fix typo in documentation
    • f14c3cf Clarify documentation
    • ea666c0 Fix failing tests in Chromium

    There are 30 commits in total.

    See the full diff

    FAQ and help

    There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


    Your Greenkeeper bot :palm_tree:

    greenkeeper 
    opened by greenkeeper[bot] 12
  • Cannot start hotel 0.5.3

    Cannot start hotel 0.5.3

    Here is what I got after running hotel start:

    /usr/local/lib/node_modules/hotel/bin/index.js:7
    updateNotifier({ pkg }).notify()
                         ^
    SyntaxError: Unexpected token }
        at exports.runInThisContext (vm.js:73:16)
        at Module._compile (module.js:443:25)
        at Object.Module._extensions..js (module.js:478:10)
        at Module.load (module.js:355:32)
        at Function.Module._load (module.js:310:12)
        at Function.Module.runMain (module.js:501:10)
        at startup (node.js:129:16)
        at node.js:814:3
    
    bug 
    opened by nghuuphuoc 12
  • Update mobx to the latest version 🚀

    Update mobx to the latest version 🚀

    ☝️ Greenkeeper’s updated Terms of Service will come into effect on April 6th, 2018.

    Version 4.0.0 of mobx was just published.

    Dependency mobx
    Current Version 3.6.2
    Type devDependency

    The version 4.0.0 is not covered by your current version range.

    If you don’t accept this pull request, your project will work just like it did before. However, you might be missing out on a bunch of new features, fixes and/or performance improvements from the dependency update.

    It might be worth looking into these changes and trying to get this project onto the latest version of mobx.

    If you have a solid test suite and good coverage, a passing build is a strong indicator that you can take advantage of these changes directly by merging the proposed change into your project. If the build fails or you don’t have such unconditional trust in your tests, this branch is a great starting point for you to work on the update.


    Commits

    The new version differs by 206 commits.

    • 1090a2c Merge branch 'mobx4'
    • 298ce84 Merge branch 'cancellable-flows' into mobx4
    • cbfbbca Added support for async iterators
    • 5ab68b1 Anything can now be yielded from flows
    • fe8131c Promises cancel recursively
    • 9e805b5 Use generator.return rather than throw for cancellation
    • b0dbe24 Removed @flow decorator; as it's type signature is misleading
    • 36d690c Iterator cleanup
    • ac5fe77 Modifiers cleanup
    • 12c7c6f Merge branch 'master' into mobx4
    • de6c018 Cleaned up ref.struct / deep.struct decorators
    • 5525473 Better error handling setup for reactions
    • 966f0d5 Published version 3.6.2
    • ac3f948 Updated readme to MobX 4
    • a8354cd Deprecated array.move and findIndex arguments

    There are 206 commits in total.

    See the full diff

    FAQ and help

    There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


    Your Greenkeeper bot :palm_tree:

    greenkeeper 
    opened by greenkeeper[bot] 11
  • fail to start

    fail to start

    Install hotel with sudo npm install -g hotel && hotel start on my notebook(ubuntu 1604). I got permission error from ~/.hotel/.daemon.log

    fs.js:640
      return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                     ^
    
    Error: EACCES: permission denied, open '/usr/lib/node_modules/.hotel_npminstall/node_modules/[email protected]/index.js'
        at Error (native)
        at Object.fs.openSync (fs.js:640:18)
    
    opened by tryer3000 11
  • hotel.dev log, not working in safari OS X

    hotel.dev log, not working in safari OS X

    In the web frontend hotel.dev I click on the arrow to show the server log on safari, and its doing nothing.

    Inspecting the console reveals this error:

    [Vue warn]: Property or method "uid" is not defined on the instance but referenced during render. Make sure to declare reactive data properties in the data option. (found in root instance)

    chrome works fine, but i almost never use crome on OS X

    just installed hotel on my mac 5 min ago:

    ~ $ hotel --version 0.5.5

    opened by alejandroMA 11
  • Is there a way to change the configuration folder path?

    Is there a way to change the configuration folder path?

    I want to move the .hotel config folder to somewhere out of HOME, possibly inside .config folder, is there a way to change it? Some applications use a variable for changing this perhaps HOTEL_HOME could be used to change it.

    Related resources:

    • https://wiki.archlinux.org/title/XDG_Base_Directory
    • https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
    opened by danielpza 0
  • Bump pug from 2.0.0-rc.4 to 3.0.1

    Bump pug from 2.0.0-rc.4 to 3.0.1

    Bumps pug from 2.0.0-rc.4 to 3.0.1.

    Release notes

    Sourced from pug's releases.

    [email protected]

    Bug Fixes

    • Update with to resolve core-js deprecation notice (#3259)

    [email protected]

    Bug Fixes

    • Sanitise the pretty option (#3314)

      If a malicious attacker could control the pretty option, it was possible for them to achieve remote code execution on the server rendering the template. All pug users should upgrade as soon as possible, see #3312 for more details.

    [email protected]

    Bug Fixes

    • Properly handle non-string values when rethrowing errors (#3269)

    [email protected]

    Breaking Changes

    • Drop support for node 6 and 8 (#3243)

    Bug Fixes

    • wrap setting err.message with a try/catch (#2996)

    [email protected]

    Breaking Changes

    • Drop support for node 6 and 8 (#3243)

    [email protected]

    Breaking Changes

    • Drop support for node 6 and 8 (#3243)

    New Features

    • Support EachOf nodes (#3179)

    [email protected]

    Breaking Changes

    • read plugins must now return Buffer if you want to support filters that use renderBuffer (#3213)

    • Drop support for node 6 and 8 (#3243)

    New Features

    • File nodes now get a raw property that is a Buffer, in addition to the str (#3213)

    ... (truncated)

    Commits
    Maintainer changes

    This version was pushed to npm by pug-bot, a new releaser for pug since your current version.


    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • [bug] Doesn't start when use node 14

    [bug] Doesn't start when use node 14

    OS: Ubuntu 20.04 When I use node 14.15.0, the hotel start command is executed without error but it actually doesn't start a server. However, when I switch to node 12.19.0 it work.

    opened by simbafs 4
  • Allow overwriting CORS headers for remote server proxies

    Allow overwriting CORS headers for remote server proxies

    When using https://github.com/typicode/hotel#proxy-requests-to-remote-servers, it would be nice if response cors headers could be overwritten from the config, to allow CORS requests to the local proxy.

    This allows strict production CORS configs while still allowing developers to work against a staging / production server

    opened by entropitor 0
  • ERR_CONNECTION_REFUSED

    ERR_CONNECTION_REFUSED

    Hello 👋,

    I know that's a duplicate issue, but I've searched for everything concerning : hotel.localhost, hotel.dev, ERR_CONNECTION_REFUSED, and couldn't find any solution.

    http://localhost:2000 works fine, but ❌ http://hotel.localhost doesn't.

    I've tried to use another browser, Firefox ("Unable to connect"), use https over http, set my proxy settings to 'Automatic' and with http://localhost:2000/proxy.pac as configuration url, but nothing seems to works.

    Here's the content of ~/.hotel/daemon.log:

    20:00:41 - Watching /home/ludal/.hotel/servers
    20:00:41 - /home/ludal/.hotel/servers/aikido-roncq.json added
    20:00:41 - Add server aikido-roncq
    create /home/ludal/.hotel/daemon.pid 55298
    20:00:41 - Reading self-signed certificate in ~/.hotel
    Exiting
    Stop daemon
    Remove pid file
    events.js:292
          throw er; // Unhandled 'error' event
          ^
    
    Error: listen EADDRINUSE: address already in use :::2001
        at Server.setupListenHandle [as _listen2] (net.js:1313:16)
        at listenInCluster (net.js:1361:12)
        at Server.listen (net.js:1447:7)
        at ProxyServer.listen (/home/ludal/.nvm/versions/node/v12.18.0/lib/node_modules/hotel/node_modules/http-proxy/lib/http-proxy/index.js:136:16)
        at Object.<anonymous> (/home/ludal/.nvm/versions/node/v12.18.0/lib/node_modules/hotel/lib/daemon/index.js:46:7)
        at Module._compile (internal/modules/cjs/loader.js:1138:30)
        at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10)
        at Module.load (internal/modules/cjs/loader.js:986:32)
        at Function.Module._load (internal/modules/cjs/loader.js:879:14)
        at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
    Emitted 'error' event on Server instance at:
        at emitErrorNT (net.js:1340:8)
        at processTicksAndRejections (internal/process/task_queues.js:84:21) {
      code: 'EADDRINUSE',
      errno: 'EADDRINUSE',
      syscall: 'listen',
      address: '::',
      port: 2001
    }
    

    The content seems to be the same as #300, and #323 .

    If anyone has an idea, please don't hesitate.

    Thanks in advance. 😊

    Specificiations

    Ubuntu 20.04.1 LTS Google Chrome 86.0.4240.111 Mozilla Firefox 82.0 Hotel 0.8.7

    opened by iamludal 2
Owner
null
A simple code snippet & gist manager for developers built with Electron & Vue.js 🚀

A simple code snippet & gist manager for developers built with Electron & Vue.js ?? https://lauthieb.github.io/code-notes Overview The aim of this pro

Laurent Thiebault 1k Sep 17, 2022
A free and open source code snippets manager for developers.

massCode The second version in beta stage is available in the v2 branch, builds are available in the releases A free and open source code snippets man

Anton Reshetov 2k Oct 3, 2022
This is a simple Vue.js app that guides a user through a multi-step process.

multi-step form app DEMO: https://vue-multi-steps.netlify.app/ This is a simple app that guides a user through a multi-step process to register into a

Peter Chen 13 Aug 24, 2022
A Business Process Management (BPM) platform based on flowable 6, vue 2, bpmn-js and Android.

A Business Process Management (BPM) platform based on flowable 6, vue 2, bpmn-js and Android.

lyuxiaobo 33 Aug 24, 2022
To avoid storing data on the server, the Wault password manager encrypts and decrypts data inside the browser

To avoid storing data on the server, the Wault password manager encrypts and decrypts data inside the browser. The keys for all encryption processes are derived from the password, which is never sent to the server.

wault 10 Sep 25, 2022
✨ Cosmos tasks allows you to automate actions on your wallets from your server or local computer

Cosmos-tasks Warning This environment is in beta! Use only development wallets (wallet created with only a bit of coin) If you have any ideas, improve

ɐʇɯon3ɹ 2 Sep 30, 2022
Filscan browser is the filecoin blockchain browser and data service platform,It provides one-stop data services such as mining ranking, blockchain data query and visualization chart based on filecoin

Filscan browser is the filecoin blockchain browser and data service platform,It provides one-stop data services such as mining ranking, blockchain data query and visualization chart based on filecoin

Filscan Team 9 Jun 2, 2022
A starter template for building complete application using Node.js and Vue.js with some included packages and configurations to help start the development quickly.

Node-Vue-Template A starter template for building a complete application using Node.js and Vue.js with some included packages and configurations to he

Muhammad Ubaid Raza 71 Jun 17, 2022
A free service which provides simple access to thousands of video lessons on web developing and programming

Web Learn Web Learn is an open source service which provides simple access to thousands of video lessons on web developing and programming. Developmen

Aleksandr Statciuk 183 Sep 13, 2022
Lulumi-browser is a lightweight browser coded with Vue.js 2 and Electron.

Lulumi-browser Lulumi-browser is a lightweight browser coded with Vue.js 2 and Electron. If you like this and would like to support it. Check out my p

Lulumi Project 408 Sep 12, 2022
:notebook: Simple and beautiful notepad to Markdown with Vue.js and Local Storage API

vNotes Simple and beautiful notepad to Markdown with VueJs and Local Storage API. DEMO Will be implemented I started the development for upgrade to Vu

Igor Luiz Halfeld 50 Jan 5, 2022
A simple and fast component for printing the local content of the page

This is a simple and fast component for printing the local content of the page.

li feng 4 Jan 17, 2021
A simple Todo App made for developers with Vuejs, Vuetify and the powerful Firebase.

TodoDev A simple Todo App made for developers with Vuejs, Vuetify and the powerful Firebase. Live: https://todoteam-3263d.web.app/ Features Authentica

Ian Luan 83 Jul 27, 2022
Send your loved ones a vibe with a lovely sound, so they know you miss them. Anytime you want to, anywhere they are.

An app to send your loved one a vibration with a lovely sound, so they know you miss them. Anytime you want to, anywhere they are.

fotiecodes 32 Aug 6, 2022
Writeray - A freelance academic writing platform that gives professionals (writers) access to jobs from clients based in Kenya

Writeray Get a constant flow of jobs no matter the season Writeray • EssaySpring

Rotiken Gisa 0 May 19, 2022
A simple website for developers resources (Websites, Tools, Icons, Videos… etc)

CSIT-Dev-Res This template should help get you started developing with Vue 3 in Vite. Recommended IDE Setup VSCode + Volar (and disable Vetur) + TypeS

Hussein Najah 5 Jul 15, 2022
Learn Programming! Start from zero, become a hero, and finally get a job!

Programming Challenges Website Official Code Repository Prograchallenges.com is an open source project made for the Telegram group of Programming Chal

Gigarator Oy 9 Jun 17, 2022
Nova File Manager - A handy Laravel Nova tool for all your file management needs, with multi-disk and chunk uploads supports

A file manager tool and field for Laravel Nova. Beautifully designed, and customizable, this tool will provide a plug'n'play solution for your file management needs.

BBS 48 Sep 26, 2022
Bytebase is a web-based, zero-config, dependency-free database schema change and version control management tool for developers and DBAs

Web-based, zero-config, dependency-free database schema change and version control tool for teams.

Bytebase 4k Sep 30, 2022