aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Eric Reeves <eric@alluvium.com>2022-04-30 06:01:19 -0500
committerLibravatar GitHub <noreply@github.com>2022-04-30 11:01:19 +0000
commit8400779e09d1a9e31429787c8620980c5a4c2051 (patch)
tree5010e9c9b578a8d10ed083d87cdfb7ef544d2ded
parentAdded build script for unix OSes (diff)
downloadferdium-server-8400779e09d1a9e31429787c8620980c5a4c2051.tar.gz
ferdium-server-8400779e09d1a9e31429787c8620980c5a4c2051.tar.zst
ferdium-server-8400779e09d1a9e31429787c8620980c5a4c2051.zip
build: Do not run husky for production builds, only for dev builds (#12)
* Use 'is-ci' to determine if we are in a CI system Co-authored-by: Vijay A <vraravam@users.noreply.github.com>
-rw-r--r--Dockerfile4
-rwxr-xr-xdocker/entrypoint.sh2
-rw-r--r--package-lock.json34
-rw-r--r--package.json3
4 files changed, 40 insertions, 3 deletions
diff --git a/Dockerfile b/Dockerfile
index e0027a9..bb496a9 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -6,8 +6,10 @@ RUN apk add --no-cache python3 make gcc g++ libc-dev sqlite-dev
6 6
7COPY . /server-build 7COPY . /server-build
8 8
9ENV CI=true
10
9RUN npm i -g npm@8.7.0 11RUN npm i -g npm@8.7.0
10RUN npm ci --production --build-from-source --sqlite=/usr/local 12RUN npm ci --build-from-source --sqlite=/usr/local
11 13
12# ---- RUNTIME IMAGE ---------------------------------------------------------- 14# ---- RUNTIME IMAGE ----------------------------------------------------------
13FROM node:16.4-alpine 15FROM node:16.4-alpine
diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh
index 44f480f..51df4e3 100755
--- a/docker/entrypoint.sh
+++ b/docker/entrypoint.sh
@@ -1,6 +1,6 @@
1#!/bin/sh 1#!/bin/sh
2 2
3cat << EOL 3cat << "EOL"
4------------------------------------- 4-------------------------------------
5 ______ ___ 5 ______ ___
6 / ____/__ _________/ (_)_ ______ ___ 6 / ____/__ _________/ (_)_ ______ ___
diff --git a/package-lock.json b/package-lock.json
index 490a694..e2496f8 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -40,6 +40,7 @@
40 "eslint-config-airbnb-base": "^14.2.1", 40 "eslint-config-airbnb-base": "^14.2.1",
41 "eslint-plugin-import": "^2.23.4", 41 "eslint-plugin-import": "^2.23.4",
42 "husky": "^7.0.1", 42 "husky": "^7.0.1",
43 "is-ci": "3.0.1",
43 "prettier": "2.3.2" 44 "prettier": "2.3.2"
44 }, 45 },
45 "engines": { 46 "engines": {
@@ -2201,6 +2202,12 @@
2201 "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", 2202 "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
2202 "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" 2203 "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="
2203 }, 2204 },
2205 "node_modules/ci-info": {
2206 "version": "3.3.0",
2207 "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz",
2208 "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==",
2209 "dev": true
2210 },
2204 "node_modules/class-utils": { 2211 "node_modules/class-utils": {
2205 "version": "0.3.6", 2212 "version": "0.3.6",
2206 "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", 2213 "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
@@ -4493,6 +4500,18 @@
4493 "url": "https://github.com/sponsors/ljharb" 4500 "url": "https://github.com/sponsors/ljharb"
4494 } 4501 }
4495 }, 4502 },
4503 "node_modules/is-ci": {
4504 "version": "3.0.1",
4505 "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz",
4506 "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==",
4507 "dev": true,
4508 "dependencies": {
4509 "ci-info": "^3.2.0"
4510 },
4511 "bin": {
4512 "is-ci": "bin.js"
4513 }
4514 },
4496 "node_modules/is-core-module": { 4515 "node_modules/is-core-module": {
4497 "version": "2.9.0", 4516 "version": "2.9.0",
4498 "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", 4517 "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz",
@@ -11318,6 +11337,12 @@
11318 "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", 11337 "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
11319 "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" 11338 "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="
11320 }, 11339 },
11340 "ci-info": {
11341 "version": "3.3.0",
11342 "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz",
11343 "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==",
11344 "dev": true
11345 },
11321 "class-utils": { 11346 "class-utils": {
11322 "version": "0.3.6", 11347 "version": "0.3.6",
11323 "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", 11348 "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
@@ -13124,6 +13149,15 @@
13124 "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", 13149 "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz",
13125 "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==" 13150 "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w=="
13126 }, 13151 },
13152 "is-ci": {
13153 "version": "3.0.1",
13154 "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz",
13155 "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==",
13156 "dev": true,
13157 "requires": {
13158 "ci-info": "^3.2.0"
13159 }
13160 },
13127 "is-core-module": { 13161 "is-core-module": {
13128 "version": "2.9.0", 13162 "version": "2.9.0",
13129 "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", 13163 "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz",
diff --git a/package.json b/package.json
index 2379bc9..d7d8400 100644
--- a/package.json
+++ b/package.json
@@ -9,7 +9,7 @@
9 "npm": "8.7.0" 9 "npm": "8.7.0"
10 }, 10 },
11 "scripts": { 11 "scripts": {
12 "prepare": "husky install", 12 "prepare": "is-ci || husky install",
13 "start": "node server.js", 13 "start": "node server.js",
14 "test": "node ace test", 14 "test": "node ace test",
15 "lint": "eslint \"{app,public,start}/**/*.js\" --quiet --fix" 15 "lint": "eslint \"{app,public,start}/**/*.js\" --quiet --fix"
@@ -53,6 +53,7 @@
53 "eslint-config-airbnb-base": "^14.2.1", 53 "eslint-config-airbnb-base": "^14.2.1",
54 "eslint-plugin-import": "^2.23.4", 54 "eslint-plugin-import": "^2.23.4",
55 "husky": "^7.0.1", 55 "husky": "^7.0.1",
56 "is-ci": "3.0.1",
56 "prettier": "2.3.2" 57 "prettier": "2.3.2"
57 }, 58 },
58 "autoload": { 59 "autoload": {