mirror of
https://github.com/amark/gun.git
synced 2025-03-30 15:08:33 +00:00
Merge branch '0.5' of https://github.com/amark/gun into 0.5
This commit is contained in:
commit
bb65acab10
23
Dockerfile
23
Dockerfile
@ -1,3 +1,24 @@
|
||||
FROM node:6-onbuild
|
||||
FROM alpine:edge
|
||||
# Build-time metadata as defined at http://label-schema.org
|
||||
ARG BUILD_DATE
|
||||
ARG VCS_REF
|
||||
ARG VCS_URL
|
||||
ARG VERSION
|
||||
LABEL org.label-schema.build-date=$BUILD_DATE \
|
||||
org.label-schema.name="Gun - Offline First, Javascript Graph Database" \
|
||||
# org.label-schema.description="Let it be pulled from Readme.md..." \
|
||||
org.label-schema.url="http://gun.js.org" \
|
||||
org.label-schema.vcs-ref=$VCS_REF \
|
||||
org.label-schema.vcs-url=$VCS_URL \
|
||||
org.label-schema.vendor="The Gun Database Team" \
|
||||
org.label-schema.version=$VERSION \
|
||||
org.label-schema.schema-version="1.0"
|
||||
WORKDIR /app
|
||||
ADD . .
|
||||
ENV NPM_CONFIG_LOGLEVEL warn
|
||||
RUN apk update && apk upgrade \
|
||||
&& apk add --no-cache ca-certificates nodejs \
|
||||
&& npm install \
|
||||
&& rm -rf /var/cache/* -rf /tmp/npm*
|
||||
EXPOSE 8080
|
||||
CMD ["npm","start"]
|
||||
|
14
README.md
14
README.md
@ -55,8 +55,8 @@ Try the [interactive tutorial](http://gun.js.org/think.html) in the browser (**5
|
||||
|
||||
- To quickly spin up a Gun test server for your development team, uilize eiher [Heroku](http://heroku.com) or [Docker](http://docker.com) or any variant thereof ([Dokku](http://dokku.viewdocs.io/dokku/), [Flynn.io](http://flynn.io), [now.sh](https://zeit.co/now), etc)
|
||||
|
||||
### [Docker](https://www.docker.com/)
|
||||
- Either (fastest) from the [Docker Hub](https://hub.docker.com/r/gundb/gun/):
|
||||
### [Docker](https://www.docker.com/)
|
||||
- Either (fastest) from the [Docker Hub](https://hub.docker.com/r/gundb/gun/)(Built at [](https://microbadger.com/images/gundb/gun "Get your own commit badge on microbadger.com")):
|
||||
|
||||
```bash
|
||||
docker run -p 8080:8080 gundb/gun
|
||||
@ -68,10 +68,18 @@ Try the [interactive tutorial](http://gun.js.org/think.html) in the browser (**5
|
||||
cd gun
|
||||
docker build -t myrepo/gundb:v1 .
|
||||
docker run -p 8080:8080 myrepo/gundb:v1
|
||||
```
|
||||
- Or, if you prefer your Docker image with metadata labels (Linux/Mac only):
|
||||
|
||||
```bash
|
||||
npm run docker
|
||||
docker run -p 8080:8080 usenameHere/gun:git
|
||||
```
|
||||
Then visit [http://localhost:8080](http://localhost:8080) in your browser.
|
||||
|
||||
### [Heroku](https://www.heroku.com/)
|
||||
- Either click [](https://heroku.com/deploy?template=https://github.com/amark/gun/tree/0.5) to deploy to your existing Heroku account immediately, OR:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/amark/gun.git
|
||||
cd gun
|
||||
@ -119,7 +127,7 @@ Designed with ♥ by Mark Nadal, the gun team, and many amazing contributors. L
|
||||
|
||||
Thanks to the following people who have contributed to GUN, via code, issues, or conversation (this list has quickly become tremendously behind! We'll probably turn this into a dedicated wiki page so you can add yourself):
|
||||
|
||||
[agborkowski](https://github.com/agborkowski); [alexlafroscia](https://github.com/alexlafroscia); [anubiann00b](https://github.com/anubiann00b); [bromagosa](https://github.com/bromagosa); [coolaj86](https://github.com/coolaj86); [d-oliveros](https://github.com/d-oliveros), [danscan](https://github.com/danscan); **[forrestjt](https://github.com/forrestjt) ([file.js](https://github.com/amark/gun/blob/master/lib/file.js))**; [gedw99](https://github.com/gedw99); [HelloCodeMing](https://github.com/HelloCodeMing); **[JosePedroDias](https://github.com/josepedrodias) (graph visualizer)**; **[jveres](https://github.com/jveres) ([todoMVC](https://github.com/jveres/todomvc) [live demo](http://todos.loqali.com/))**; [ndarilek](https://github.com/ndarilek); [onetom](https://github.com/onetom); [phpnode](https://github.com/phpnode); [PsychoLlama](https://github.com/PsychoLlama); **[RangerMauve](https://github.com/RangerMauve) ([schema](https://github.com/gundb/gun-schema))**; [riston](https://github.com/riston); [rootsical](https://github.com/rootsical); [rrrene](https://github.com/rrrene); [ssr1ram](https://github.com/ssr1ram); [Xe](https://github.com/Xe); [zot](https://github.com/zot);
|
||||
[agborkowski](https://github.com/agborkowski); [alexlafroscia](https://github.com/alexlafroscia); [anubiann00b](https://github.com/anubiann00b); [bromagosa](https://github.com/bromagosa); [coolaj86](https://github.com/coolaj86); [d-oliveros](https://github.com/d-oliveros), [danscan](https://github.com/danscan); **[forrestjt](https://github.com/forrestjt) ([file.js](https://github.com/amark/gun/blob/master/lib/file.js))**; [gedw99](https://github.com/gedw99); [HelloCodeMing](https://github.com/HelloCodeMing); **[Hillct](https://github.com/hillct) (Deployment Tools); **[JosePedroDias](https://github.com/josepedrodias) (graph visualizer)**; **[jveres](https://github.com/jveres) ([todoMVC](https://github.com/jveres/todomvc) [live demo](http://todos.loqali.com/))**; [ndarilek](https://github.com/ndarilek); [onetom](https://github.com/onetom); [phpnode](https://github.com/phpnode); [PsychoLlama](https://github.com/PsychoLlama); **[RangerMauve](https://github.com/RangerMauve) ([schema](https://github.com/gundb/gun-schema))**; [riston](https://github.com/riston); [rootsical](https://github.com/rootsical); [rrrene](https://github.com/rrrene); [ssr1ram](https://github.com/ssr1ram); [Xe](https://github.com/Xe); [zot](https://github.com/zot);
|
||||
[ayurmedia](https://github.com/ayurmedia);
|
||||
|
||||
This list of contributors was manually compiled and alphabetically sorted. If we missed you, please submit an issue so we can get you added!
|
||||
|
8
app.json
Normal file
8
app.json
Normal file
@ -0,0 +1,8 @@
|
||||
{
|
||||
"name": "gun-server",
|
||||
"website": "http://gun.js.org",
|
||||
"repository": "https://github.com/amark/gun",
|
||||
"logo": "https://avatars3.githubusercontent.com/u/8811914",
|
||||
"keywords": ["node", "gun", "gunDB", "database","graph","offline-first"],
|
||||
"description": "Javascript, Offline-First Javascript Graph Database Server Peer"
|
||||
}
|
17
gun.js
17
gun.js
@ -1025,26 +1025,26 @@
|
||||
return Gun.obj.has(this.cache, id);
|
||||
}
|
||||
Dedup.prototype.gc = function(){
|
||||
var de = this;
|
||||
var now = Gun.time.is();
|
||||
var oldest = now;
|
||||
var maxAge = 5 * 60 * 1000;
|
||||
var cache = this.cache;
|
||||
// TODO: Gun.scheduler already does this? Reuse that.
|
||||
Gun.obj.map(this.cache, function (time, id) {
|
||||
// TODO: Gun.scheduler already does this? Reuse that.
|
||||
Gun.obj.map(de.cache, function (time, id) {
|
||||
oldest = Math.min(now, time);
|
||||
|
||||
if ((now - time) < maxAge) {
|
||||
return;
|
||||
}
|
||||
|
||||
delete cache[id];
|
||||
});
|
||||
delete de.cache[id];
|
||||
});
|
||||
|
||||
var done = Gun.obj.empty(this.cache);
|
||||
var done = Gun.obj.empty(de.cache);
|
||||
|
||||
// Disengage GC.
|
||||
if (done) {
|
||||
this.to = null;
|
||||
de.to = null;
|
||||
return;
|
||||
}
|
||||
|
||||
@ -1055,8 +1055,7 @@
|
||||
var nextGC = maxAge - elapsed;
|
||||
|
||||
// Schedule the next GC event.
|
||||
var dedup = this;
|
||||
this.to = setTimeout(function(){ dedup.gc() }, nextGC);
|
||||
de.to = setTimeout(function(){ de.gc() }, nextGC);
|
||||
}
|
||||
}());
|
||||
var text = Type.text, text_is = text.is, text_random = text.random;
|
||||
|
7
hooks/build
Executable file
7
hooks/build
Executable file
@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
FOO=${IMAGE_NAME:=`whoami`/gun:git-local}
|
||||
BAR=${SOURCE_BRANCH:=`git rev-parse --abbrev-ref HEAD`}
|
||||
docker build --build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
|
||||
--build-arg VCS_REF=`git rev-parse --short HEAD` \
|
||||
--build-arg VCS_URL=`git config --get remote.origin.url` \
|
||||
--build-arg VERSION=$SOURCE_BRANCH -t $IMAGE_NAME .
|
3
hooks/post_push
Executable file
3
hooks/post_push
Executable file
@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
docker tag $IMAGE_NAME $DOCKER_REPO:latest
|
||||
docker push $DOCKER_REPO:latest
|
@ -5,8 +5,9 @@
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"start": "node examples/http.js 8080",
|
||||
"prepublish": "uglifyjs2 gun.js -o gun.min.js -c -m",
|
||||
"prepublish": "npm run unbuild && uglifyjs gun.js -o gun.min.js -c -m",
|
||||
"test": "mocha",
|
||||
"docker": "hooks/build",
|
||||
"unbuild": "node lib/unbuild.js"
|
||||
},
|
||||
"repository": {
|
||||
@ -54,6 +55,6 @@
|
||||
"mocha": "~>1.9.0",
|
||||
"panic-server": "~>0.3.0",
|
||||
"selenium-webdriver": "~>2.53.2",
|
||||
"uglify-js2": "^2.1.11"
|
||||
"uglify-js": "^2.2.0"
|
||||
}
|
||||
}
|
||||
|
4
src/.gitignore
vendored
Normal file
4
src/.gitignore
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
# Ignore everything in this directory
|
||||
*
|
||||
# Except this file
|
||||
!.gitignore
|
Loading…
x
Reference in New Issue
Block a user