diff --git a/site/.dockerignore b/site/.dockerignore new file mode 100644 index 0000000000..0822df13e4 --- /dev/null +++ b/site/.dockerignore @@ -0,0 +1,9 @@ +/* +!/Dockerfile +!/package.json +!/package-lock.json +!/__sapper__ +/__sapper__/* +!/__sapper__/build +!/static +!/content diff --git a/site/.gcloudignore b/site/.gcloudignore new file mode 100644 index 0000000000..c46042a27e --- /dev/null +++ b/site/.gcloudignore @@ -0,0 +1 @@ +#!include:.dockerignore diff --git a/site/Dockerfile b/site/Dockerfile index 6674e45336..f53e6a0c4a 100644 --- a/site/Dockerfile +++ b/site/Dockerfile @@ -1,21 +1,19 @@ -FROM mhart/alpine-node:10.15 +FROM mhart/alpine-node:11.14 # install dependencies WORKDIR /app -COPY static /app/static -COPY content /app/content -COPY __sapper__ /app/__sapper__ -COPY package.json package-lock.json /app/ -RUN npm install --production +COPY package.json package-lock.json ./ +RUN npm ci --production ### # Only copy over the Node pieces we need # ~> Saves 35MB ### -FROM mhart/alpine-node:base-10.15 +FROM mhart/alpine-node:base-11.14 WORKDIR /app COPY --from=0 /app . +COPY . . EXPOSE 3000 CMD ["node", "__sapper__/build"] diff --git a/site/Makefile b/site/Makefile index c41be0fda7..c8d8b236a6 100644 --- a/site/Makefile +++ b/site/Makefile @@ -14,9 +14,7 @@ sapper: docker: @echo "\n~> building docker image" - @docker build . -t $(IMAGE) - @echo "\n~> pushing docker image" - @docker push $(IMAGE) + @gcloud builds submit -t $(IMAGE) deploy: sapper docker diff --git a/site/package-lock.json b/site/package-lock.json index 4d1caaba23..a03dc0bc82 100644 --- a/site/package-lock.json +++ b/site/package-lock.json @@ -3149,16 +3149,6 @@ "integrity": "sha512-WHq43gS+6ufNOEqlrDBxVEbb8ntfXrfAUU2ZOpCxrBdGKW3gyv8mCxAfIBD0DroPKGrJ2eSsXsLtY9MPntsyTw==", "dev": true }, - "globalyzer": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.4.tgz", - "integrity": "sha512-LeguVWaxgHN0MNbWC6YljNMzHkrCny9fzjmEUdnF1kQ7wATFD1RHFRqA1qxaX2tgxGENlcxjOflopBwj3YZiXA==" - }, - "globrex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", - "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==" - }, "golden-fleece": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/golden-fleece/-/golden-fleece-1.0.9.tgz", @@ -5029,13 +5019,12 @@ "dev": true }, "sirv": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-0.2.4.tgz", - "integrity": "sha512-0YaLzpD6dPiJZUqDEwDqk9NLGZDm/nNWvpg8Rym+3hdt5pWGRrlggjjt1KtF0+tZgGtyI4F5f5JZ9XTCp53Oqw==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-0.3.1.tgz", + "integrity": "sha512-03p4fuXPfhlNrDjUBw5bGF//4i0Rjwf7hVm8XhuKgeguHGQPr4pV+lgAJZKSP9BaJKn+QG9QvTxLX1wSYshccg==", "requires": { "@polka/url": "^0.5.0", - "mime": "^2.3.1", - "tiny-glob": "^0.2.0" + "mime": "^2.3.1" }, "dependencies": { "mime": { @@ -5414,15 +5403,6 @@ "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==", "optional": true }, - "tiny-glob": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.6.tgz", - "integrity": "sha512-A7ewMqPu1B5PWwC3m7KVgAu96Ch5LA0w4SnEN/LbDREj/gAD0nPWboRbn8YoP9ISZXqeNAlMvKSKoEuhcfK3Pw==", - "requires": { - "globalyzer": "^0.1.0", - "globrex": "^0.1.1" - } - }, "tinycolor2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.1.tgz", diff --git a/site/package.json b/site/package.json index 055d28c919..3fc6045209 100644 --- a/site/package.json +++ b/site/package.json @@ -31,7 +31,7 @@ "prismjs": "^1.15.0", "session-file-store": "^1.2.0", "shelljs": "^0.8.3", - "sirv": "^0.2.2", + "sirv": "^0.3.1", "yootils": "0.0.14" }, "devDependencies": { diff --git a/site/src/components/PreloadingIndicator.svelte b/site/src/components/PreloadingIndicator.svelte new file mode 100644 index 0000000000..22980e2a6b --- /dev/null +++ b/site/src/components/PreloadingIndicator.svelte @@ -0,0 +1,64 @@ + + + + +{#if p > 0} +
+
+
+{/if} + +{#if p >= 0.4} +
+{/if} \ No newline at end of file diff --git a/site/src/routes/_layout.svelte b/site/src/routes/_layout.svelte index a72065a7c2..5482ea4d46 100644 --- a/site/src/routes/_layout.svelte +++ b/site/src/routes/_layout.svelte @@ -1,11 +1,16 @@ +{#if $preloading} + +{/if} + {#if $page.path !== '/repl/embed'}