* Exclude a bunch of files and directories not needed for Docker image
* Exclude dev dependencies for Docker image build by introducing a production build script
* Using a different alpine base image and multi-stage build reduces the Docker image by roughly 35 MB alone
* Move babel to dev dependencies
* Fix highlight.min.js accidentally being ignored
* Moving the storage dependencies again into package.json but to the optionalDependencies
* Add build script that excludes the optional dependencies for manual installation of these
* Add a comment in Dockerfile on how to use the minimal build script
* Add .dockerignore
* Add docker-compose.yml version number
* Use docker-managed volume instead of directory for files
Co-authored-by: niekcandaele <22315101+niekcandaele@users.noreply.github.com>
It seems to be a better practice to keep all dependencies documented in repo and package-lock, so there will be no issues with installing them manually. Even though there are more deps that self-hosters might not use, it makes it easier to change configuration and manage some things like docker images (see #8).
-Tests were not brought up to date with some updates that were done to key generator modules.
-Apparently original creator had no idea that 'y' is a vowel; fixed this issue and reflected changes in actual files.
I Decided to remove static asset compression from actual code to make runtime faster and moved it to package.json script which only builds application once on installation.\nAfter this commit, after every update that changed static/application.js, you also need to run npm run-script build after git pull
This change makes it possible to start haste server with no further configuration, supporting "out-of-box" solutions for Heroku / Dokku and preferrably other platforms
We updated highlight.min.js library to newer version (v9.12.0 -> 10.2.0) and added support for many languages. Updated extensionMap accordingly and also removed from it some unnecessary aliases, like 'json' since they are already natively supported by highlight.min.js library.
There also a new documentation page under docs/languages.md which lists all supported aliases.
This is experimental as there are couple issues with attemting to set duplicate keys and connecting on startup, but it's working regardless of those issues.\nMaybe I can look into solving those later if needed
It is no longer possible to make a POST request with no body content and make a "ghost key" - which upon requesting returns 404, but it considered as a taken key