@leverege/build-tools 2.35.0 → 2.35.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/leverege-build-tools-2.21.13.tgz +0 -0
- package/lib/server/firebaseDeploy.js +5 -13
- package/lib/web/firebaseDeploy.js +5 -13
- package/package.json +1 -1
- package/src/firebaseDeploy.mjs +5 -12
- package/src/circle-lib.yml +0 -150
- package/src/circle-srv.yml +0 -213
- package/src/helm-charts/geotile-server/.nohelm +0 -0
- package/src/helm-charts/geotile-server/gitignore +0 -1
- package/src/helm-charts/geotile-server/helmup.plugin +0 -6
|
Binary file
|
|
@@ -38,7 +38,11 @@ const INTERACTIVE_MODE = !TARGET;
|
|
|
38
38
|
let exited = false;
|
|
39
39
|
const SECRETS_DIR = 'secrets';
|
|
40
40
|
const EXIT_EVENTS = ['SIGINT', 'exit', 'uncaughException', 'unhandledRejection'];
|
|
41
|
-
const [firebaserc, firebaseJson,
|
|
41
|
+
const [firebaserc, firebaseJson, gitBranch] = await Promise.all([_zx.fs.exists(_zx.path.join(process.cwd(), '.firebaserc')), _zx.fs.exists(_zx.path.join(process.cwd(), 'firebase.json')), (0, _zx.$)`git rev-parse --abbrev-ref HEAD -C ${process.cwd()}`.then(({
|
|
42
|
+
stdout
|
|
43
|
+
}) => {
|
|
44
|
+
return stdout.split('\n')[0];
|
|
45
|
+
})]);
|
|
42
46
|
if (!firebaserc) {
|
|
43
47
|
console.log(_zx.chalk.red('No .firebaserc file found. Make sure that you are executing firebaseDeploy from within a firebase project directory.'));
|
|
44
48
|
}
|
|
@@ -51,18 +55,6 @@ if (!firebaserc || !firebaseJson) {
|
|
|
51
55
|
const firebasercContent = JSON.parse(await _zx.fs.readFile(_zx.path.join(process.cwd(), '.firebaserc'), {
|
|
52
56
|
encoding: 'utf-8'
|
|
53
57
|
}));
|
|
54
|
-
|
|
55
|
-
// If in a git repo, fetch the name of the git branch to use as a default
|
|
56
|
-
// name in case a deployment channel is needed. Examining this file directly
|
|
57
|
-
// is less cumbersome then running an actual git command to fetch the
|
|
58
|
-
// branch name
|
|
59
|
-
let gitBranch;
|
|
60
|
-
if (git) {
|
|
61
|
-
const gitContent = (await _zx.fs.readFile(_zx.path.join(process.cwd(), '.git/HEAD'), {
|
|
62
|
-
encoding: 'utf-8'
|
|
63
|
-
}))?.split('/');
|
|
64
|
-
gitBranch = gitContent[gitContent?.length - 1]?.trimEnd('\n');
|
|
65
|
-
}
|
|
66
58
|
let maxSiteIdLength = 0;
|
|
67
59
|
const targets = Object.entries(firebasercContent.targets).reduce((prev, [projectId, config]) => {
|
|
68
60
|
Object.entries(config.hosting).forEach(([siteId, aliases]) => {
|
|
@@ -38,7 +38,11 @@ const INTERACTIVE_MODE = !TARGET;
|
|
|
38
38
|
let exited = false;
|
|
39
39
|
const SECRETS_DIR = 'secrets';
|
|
40
40
|
const EXIT_EVENTS = ['SIGINT', 'exit', 'uncaughException', 'unhandledRejection'];
|
|
41
|
-
const [firebaserc, firebaseJson,
|
|
41
|
+
const [firebaserc, firebaseJson, gitBranch] = await Promise.all([_zx.fs.exists(_zx.path.join(process.cwd(), '.firebaserc')), _zx.fs.exists(_zx.path.join(process.cwd(), 'firebase.json')), (0, _zx.$)`git rev-parse --abbrev-ref HEAD -C ${process.cwd()}`.then(({
|
|
42
|
+
stdout
|
|
43
|
+
}) => {
|
|
44
|
+
return stdout.split('\n')[0];
|
|
45
|
+
})]);
|
|
42
46
|
if (!firebaserc) {
|
|
43
47
|
console.log(_zx.chalk.red('No .firebaserc file found. Make sure that you are executing firebaseDeploy from within a firebase project directory.'));
|
|
44
48
|
}
|
|
@@ -51,18 +55,6 @@ if (!firebaserc || !firebaseJson) {
|
|
|
51
55
|
const firebasercContent = JSON.parse(await _zx.fs.readFile(_zx.path.join(process.cwd(), '.firebaserc'), {
|
|
52
56
|
encoding: 'utf-8'
|
|
53
57
|
}));
|
|
54
|
-
|
|
55
|
-
// If in a git repo, fetch the name of the git branch to use as a default
|
|
56
|
-
// name in case a deployment channel is needed. Examining this file directly
|
|
57
|
-
// is less cumbersome then running an actual git command to fetch the
|
|
58
|
-
// branch name
|
|
59
|
-
let gitBranch;
|
|
60
|
-
if (git) {
|
|
61
|
-
const gitContent = (await _zx.fs.readFile(_zx.path.join(process.cwd(), '.git/HEAD'), {
|
|
62
|
-
encoding: 'utf-8'
|
|
63
|
-
}))?.split('/');
|
|
64
|
-
gitBranch = gitContent[gitContent?.length - 1]?.trimEnd('\n');
|
|
65
|
-
}
|
|
66
58
|
let maxSiteIdLength = 0;
|
|
67
59
|
const targets = Object.entries(firebasercContent.targets).reduce((prev, [projectId, config]) => {
|
|
68
60
|
Object.entries(config.hosting).forEach(([siteId, aliases]) => {
|
package/package.json
CHANGED
package/src/firebaseDeploy.mjs
CHANGED
|
@@ -42,11 +42,14 @@ const EXIT_EVENTS = [ 'SIGINT', 'exit', 'uncaughException', 'unhandledRejection'
|
|
|
42
42
|
const [
|
|
43
43
|
firebaserc,
|
|
44
44
|
firebaseJson,
|
|
45
|
-
|
|
45
|
+
gitBranch
|
|
46
46
|
] = await Promise.all( [
|
|
47
47
|
fs.exists( path.join( process.cwd(), '.firebaserc' ) ),
|
|
48
48
|
fs.exists( path.join( process.cwd(), 'firebase.json' ) ),
|
|
49
|
-
|
|
49
|
+
$`git rev-parse --abbrev-ref HEAD -C ${process.cwd()}`
|
|
50
|
+
.then( ( { stdout } ) => {
|
|
51
|
+
return stdout.split( '\n' )[0]
|
|
52
|
+
} )
|
|
50
53
|
] )
|
|
51
54
|
|
|
52
55
|
if ( !firebaserc ) {
|
|
@@ -63,16 +66,6 @@ if ( !firebaserc || !firebaseJson ) {
|
|
|
63
66
|
|
|
64
67
|
const firebasercContent = JSON.parse( await fs.readFile( path.join( process.cwd(), '.firebaserc' ), { encoding : 'utf-8' } ) )
|
|
65
68
|
|
|
66
|
-
// If in a git repo, fetch the name of the git branch to use as a default
|
|
67
|
-
// name in case a deployment channel is needed. Examining this file directly
|
|
68
|
-
// is less cumbersome then running an actual git command to fetch the
|
|
69
|
-
// branch name
|
|
70
|
-
let gitBranch
|
|
71
|
-
if ( git ) {
|
|
72
|
-
const gitContent = ( await fs.readFile( path.join( process.cwd(), '.git/HEAD' ), { encoding : 'utf-8' } ) )?.split( '/' )
|
|
73
|
-
gitBranch = gitContent[gitContent?.length - 1]?.trimEnd( '\n' )
|
|
74
|
-
}
|
|
75
|
-
|
|
76
69
|
let maxSiteIdLength = 0
|
|
77
70
|
|
|
78
71
|
const targets = Object
|
package/src/circle-lib.yml
DELETED
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
version: 2.1
|
|
2
|
-
jobs:
|
|
3
|
-
install:
|
|
4
|
-
docker:
|
|
5
|
-
- image: $CIRCLE_NODE_IMG
|
|
6
|
-
steps:
|
|
7
|
-
- checkout
|
|
8
|
-
- restore_cache:
|
|
9
|
-
keys:
|
|
10
|
-
- v1-npm-deps-{{ checksum "package-lock.json" }}
|
|
11
|
-
- v1-npm-deps-
|
|
12
|
-
|
|
13
|
-
- run:
|
|
14
|
-
name: Setup @leverege Token
|
|
15
|
-
command: echo \${NPMRC} > ~/.npmrc
|
|
16
|
-
|
|
17
|
-
- run: npm install
|
|
18
|
-
|
|
19
|
-
- save_cache:
|
|
20
|
-
key: v1-npm-deps-{{ checksum "package-lock.json" }}
|
|
21
|
-
paths:
|
|
22
|
-
- ./node_modules
|
|
23
|
-
|
|
24
|
-
- persist_to_workspace:
|
|
25
|
-
root: /home/circleci/project
|
|
26
|
-
paths:
|
|
27
|
-
- ./node_modules
|
|
28
|
-
|
|
29
|
-
security-check:
|
|
30
|
-
docker:
|
|
31
|
-
- image: $CIRCLE_NODE_IMG
|
|
32
|
-
steps:
|
|
33
|
-
- checkout
|
|
34
|
-
- attach_workspace:
|
|
35
|
-
at: ~/project
|
|
36
|
-
- run:
|
|
37
|
-
name: Check for vulnerabilities
|
|
38
|
-
command: npm audit --production --audit-level=moderate
|
|
39
|
-
|
|
40
|
-
license-check:
|
|
41
|
-
docker:
|
|
42
|
-
- image: $CIRCLE_NODE_IMG
|
|
43
|
-
steps:
|
|
44
|
-
- checkout
|
|
45
|
-
- attach_workspace:
|
|
46
|
-
at: ~/project
|
|
47
|
-
- run:
|
|
48
|
-
name: Check for LICENSE and README files
|
|
49
|
-
command: npm run pkglint
|
|
50
|
-
|
|
51
|
-
- run:
|
|
52
|
-
name: Check for license violations (e.g. GPL)
|
|
53
|
-
command: npx license-checker --production --summary --failOn GPL
|
|
54
|
-
|
|
55
|
-
lint:
|
|
56
|
-
docker:
|
|
57
|
-
- image: $CIRCLE_NODE_IMG
|
|
58
|
-
steps:
|
|
59
|
-
- checkout
|
|
60
|
-
- attach_workspace:
|
|
61
|
-
at: ~/project
|
|
62
|
-
- run:
|
|
63
|
-
name: Lint and save results
|
|
64
|
-
command: npm run lint-ci
|
|
65
|
-
|
|
66
|
-
- store_test_results:
|
|
67
|
-
path: reports
|
|
68
|
-
|
|
69
|
-
docs:
|
|
70
|
-
docker:
|
|
71
|
-
- image: $CIRCLE_NODE_IMG
|
|
72
|
-
steps:
|
|
73
|
-
- checkout
|
|
74
|
-
- attach_workspace:
|
|
75
|
-
at: ~/project
|
|
76
|
-
- run:
|
|
77
|
-
name: Generate docs
|
|
78
|
-
command: npx jsdoc -r src -R README.md -d docs
|
|
79
|
-
- store_artifacts:
|
|
80
|
-
path: docs
|
|
81
|
-
prefix: docs
|
|
82
|
-
|
|
83
|
-
coverage:
|
|
84
|
-
# coverage runs tests, generates coverage, and saves docs
|
|
85
|
-
environment:
|
|
86
|
-
TZ: 'America/New_York'
|
|
87
|
-
docker:
|
|
88
|
-
- image: $CIRCLE_NODE_IMG
|
|
89
|
-
# IF YOU NEED ANY OF THESE, UNCOMMENT TO USE
|
|
90
|
-
# - image: redis
|
|
91
|
-
# - image: circleci/mysql:5.7
|
|
92
|
-
# environment:
|
|
93
|
-
# MYSQL_USER: root
|
|
94
|
-
# MYSQL_ROOT_PASSWORD: root
|
|
95
|
-
# MYSQL_ALLOW_EMPTY_PASSWORD: true
|
|
96
|
-
# MYSQL_HOST: 127.0.0.1
|
|
97
|
-
# - image: nsqio/nsq
|
|
98
|
-
# command: /nsqlookupd -broadcast-address localhost:4160 -tcp-address 0.0.0.0:4160 -http-address 0.0.0.0:4161
|
|
99
|
-
|
|
100
|
-
# - image: nsqio/nsq
|
|
101
|
-
# command: >
|
|
102
|
-
# /nsqd
|
|
103
|
-
# -broadcast-address localhost:4150
|
|
104
|
-
# -tcp-address 0.0.0.0:4150
|
|
105
|
-
# -http-address 0.0.0.0:4151
|
|
106
|
-
# -lookupd-tcp-address localhost:4160
|
|
107
|
-
|
|
108
|
-
steps:
|
|
109
|
-
- checkout
|
|
110
|
-
- attach_workspace:
|
|
111
|
-
at: ~/project
|
|
112
|
-
|
|
113
|
-
# UNCOMMENT IF YOU NEED DECRYPTING SECRETS
|
|
114
|
-
# - run:
|
|
115
|
-
# name: Load secrets
|
|
116
|
-
# command: npm run decrypt
|
|
117
|
-
|
|
118
|
-
- run:
|
|
119
|
-
name: Run Tests and Generate Code Coverage
|
|
120
|
-
command: npm run coverage
|
|
121
|
-
|
|
122
|
-
- run:
|
|
123
|
-
name: Check if coverage meets at least 70%
|
|
124
|
-
command: npx c8 check-coverage --functions 70 --lines 70 --statements 70
|
|
125
|
-
|
|
126
|
-
- store_artifacts:
|
|
127
|
-
path: coverage
|
|
128
|
-
prefix: coverage
|
|
129
|
-
|
|
130
|
-
workflows:
|
|
131
|
-
version: 2.1
|
|
132
|
-
test-build-deploy:
|
|
133
|
-
jobs:
|
|
134
|
-
- install:
|
|
135
|
-
context: npm
|
|
136
|
-
- security-check:
|
|
137
|
-
requires:
|
|
138
|
-
- install
|
|
139
|
-
- license-check:
|
|
140
|
-
requires:
|
|
141
|
-
- install
|
|
142
|
-
- lint:
|
|
143
|
-
requires:
|
|
144
|
-
- install
|
|
145
|
-
- coverage:
|
|
146
|
-
requires:
|
|
147
|
-
- install
|
|
148
|
-
- docs:
|
|
149
|
-
requires:
|
|
150
|
-
- install
|
package/src/circle-srv.yml
DELETED
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
version: 2.1
|
|
2
|
-
#orbs:
|
|
3
|
-
# gcp-gcr: circleci/gcp-gcr@0.6.1
|
|
4
|
-
executors:
|
|
5
|
-
default:
|
|
6
|
-
description: >
|
|
7
|
-
A debian-based machine executor.
|
|
8
|
-
machine: true
|
|
9
|
-
jobs:
|
|
10
|
-
install:
|
|
11
|
-
docker:
|
|
12
|
-
- image: $CIRCLE_NODE_IMG
|
|
13
|
-
steps:
|
|
14
|
-
- checkout
|
|
15
|
-
- restore_cache:
|
|
16
|
-
keys:
|
|
17
|
-
- v1-npm-deps-{{ checksum "package-lock.json" }}
|
|
18
|
-
- v1-npm-deps-
|
|
19
|
-
|
|
20
|
-
- run:
|
|
21
|
-
name: Setup @leverege Token
|
|
22
|
-
command: echo \${NPMRC} > ~/.npmrc
|
|
23
|
-
|
|
24
|
-
- run: npm install
|
|
25
|
-
|
|
26
|
-
- save_cache:
|
|
27
|
-
key: v1-npm-deps-{{ checksum "package-lock.json" }}
|
|
28
|
-
paths:
|
|
29
|
-
- ./node_modules
|
|
30
|
-
|
|
31
|
-
- persist_to_workspace:
|
|
32
|
-
root: /home/circleci/project
|
|
33
|
-
paths:
|
|
34
|
-
- ./node_modules
|
|
35
|
-
|
|
36
|
-
security-check:
|
|
37
|
-
docker:
|
|
38
|
-
- image: $CIRCLE_NODE_IMG
|
|
39
|
-
steps:
|
|
40
|
-
- checkout
|
|
41
|
-
- attach_workspace:
|
|
42
|
-
at: ~/project
|
|
43
|
-
- run:
|
|
44
|
-
name: Check for vulnerabilities
|
|
45
|
-
command: npm audit --production --audit-level=moderate
|
|
46
|
-
|
|
47
|
-
license-check:
|
|
48
|
-
docker:
|
|
49
|
-
- image: $CIRCLE_NODE_IMG
|
|
50
|
-
steps:
|
|
51
|
-
- checkout
|
|
52
|
-
- attach_workspace:
|
|
53
|
-
at: ~/project
|
|
54
|
-
- run:
|
|
55
|
-
name: Check for LICENSE and README files
|
|
56
|
-
command: npm run pkglint
|
|
57
|
-
|
|
58
|
-
- run:
|
|
59
|
-
name: Check for license violations (e.g. GPL)
|
|
60
|
-
command: npx license-checker --production --summary --failOn GPL
|
|
61
|
-
|
|
62
|
-
lint:
|
|
63
|
-
docker:
|
|
64
|
-
- image: $CIRCLE_NODE_IMG
|
|
65
|
-
steps:
|
|
66
|
-
- checkout
|
|
67
|
-
- attach_workspace:
|
|
68
|
-
at: ~/project
|
|
69
|
-
- run:
|
|
70
|
-
name: Lint and save results
|
|
71
|
-
command: npm run lint-ci
|
|
72
|
-
|
|
73
|
-
- store_test_results:
|
|
74
|
-
path: reports
|
|
75
|
-
|
|
76
|
-
docs:
|
|
77
|
-
docker:
|
|
78
|
-
- image: $CIRCLE_NODE_IMG
|
|
79
|
-
steps:
|
|
80
|
-
- checkout
|
|
81
|
-
- attach_workspace:
|
|
82
|
-
at: ~/project
|
|
83
|
-
- run:
|
|
84
|
-
name: Generate docs
|
|
85
|
-
command: npx jsdoc -r src -R README.md -d docs
|
|
86
|
-
- store_artifacts:
|
|
87
|
-
path: docs
|
|
88
|
-
prefix: docs
|
|
89
|
-
|
|
90
|
-
coverage:
|
|
91
|
-
# coverage runs tests, generates coverage, and saves docs
|
|
92
|
-
environment:
|
|
93
|
-
TZ: 'America/New_York'
|
|
94
|
-
docker:
|
|
95
|
-
- image: $CIRCLE_NODE_IMG
|
|
96
|
-
# IF YOU NEED ANY OF THESE, UNCOMMENT TO USE
|
|
97
|
-
# - image: redis
|
|
98
|
-
# - image: circleci/mysql:5.7
|
|
99
|
-
# environment:
|
|
100
|
-
# MYSQL_USER: root
|
|
101
|
-
# MYSQL_ROOT_PASSWORD: root
|
|
102
|
-
# MYSQL_ALLOW_EMPTY_PASSWORD: true
|
|
103
|
-
# MYSQL_HOST: 127.0.0.1
|
|
104
|
-
# - image: nsqio/nsq
|
|
105
|
-
# command: /nsqlookupd -broadcast-address localhost:4160 -tcp-address 0.0.0.0:4160 -http-address 0.0.0.0:4161
|
|
106
|
-
|
|
107
|
-
# - image: nsqio/nsq
|
|
108
|
-
# command: >
|
|
109
|
-
# /nsqd
|
|
110
|
-
# -broadcast-address localhost:4150
|
|
111
|
-
# -tcp-address 0.0.0.0:4150
|
|
112
|
-
# -http-address 0.0.0.0:4151
|
|
113
|
-
# -lookupd-tcp-address localhost:4160
|
|
114
|
-
|
|
115
|
-
steps:
|
|
116
|
-
- checkout
|
|
117
|
-
- attach_workspace:
|
|
118
|
-
at: ~/project
|
|
119
|
-
|
|
120
|
-
# UNCOMMENT IF YOU NEED DECRYPTING SECRETS
|
|
121
|
-
# - run:
|
|
122
|
-
# name: Load secrets
|
|
123
|
-
# command: npm run decrypt
|
|
124
|
-
|
|
125
|
-
- run:
|
|
126
|
-
name: Run Tests and Generate Code Coverage
|
|
127
|
-
command: npm run coverage
|
|
128
|
-
|
|
129
|
-
- run:
|
|
130
|
-
name: Check if coverage meets at least 70%
|
|
131
|
-
command: npx c8 check-coverage --functions 70 --lines 70 --statements 70
|
|
132
|
-
|
|
133
|
-
- store_artifacts:
|
|
134
|
-
path: coverage
|
|
135
|
-
prefix: coverage
|
|
136
|
-
|
|
137
|
-
build:
|
|
138
|
-
# build should make dist image and prepare docker file
|
|
139
|
-
docker:
|
|
140
|
-
- image: $CIRCLE_NODE_IMG
|
|
141
|
-
|
|
142
|
-
steps:
|
|
143
|
-
- checkout
|
|
144
|
-
- attach_workspace:
|
|
145
|
-
at: ~/project
|
|
146
|
-
|
|
147
|
-
- run:
|
|
148
|
-
name: Setup @leverege Token
|
|
149
|
-
command: echo \${NPMRC} > ~/.npmrc.ro
|
|
150
|
-
|
|
151
|
-
- run:
|
|
152
|
-
name: Determine version number and container name
|
|
153
|
-
command: |
|
|
154
|
-
container="\`node -p \"require('./package.json').leverege.container\"\`"
|
|
155
|
-
if [ "\$container" == "undefined" ];
|
|
156
|
-
then
|
|
157
|
-
container=\$CIRCLE_PROJECT_REPONAME
|
|
158
|
-
fi
|
|
159
|
-
NODE_IMAGE="\`node -p \"require('./package.json').leverege.nodeimg\"\`"
|
|
160
|
-
|
|
161
|
-
echo \$(git describe --tags) > package_version
|
|
162
|
-
echo \${container} > container_name
|
|
163
|
-
echo \${NODE_IMAGE} > node_img
|
|
164
|
-
|
|
165
|
-
- run:
|
|
166
|
-
name: Create Dockerfile and build dist directory
|
|
167
|
-
command: mkdir -p docker && npm run dockerize \$(git describe --tags)
|
|
168
|
-
|
|
169
|
-
- persist_to_workspace:
|
|
170
|
-
root: ~/project
|
|
171
|
-
paths:
|
|
172
|
-
- docker/*
|
|
173
|
-
- package_version
|
|
174
|
-
- container_name
|
|
175
|
-
- node_img
|
|
176
|
-
|
|
177
|
-
workflows:
|
|
178
|
-
version: 2.1
|
|
179
|
-
test-build-deploy:
|
|
180
|
-
jobs:
|
|
181
|
-
- install:
|
|
182
|
-
context: npm
|
|
183
|
-
- security-check:
|
|
184
|
-
requires:
|
|
185
|
-
- install
|
|
186
|
-
- license-check:
|
|
187
|
-
requires:
|
|
188
|
-
- install
|
|
189
|
-
- lint:
|
|
190
|
-
requires:
|
|
191
|
-
- install
|
|
192
|
-
- coverage:
|
|
193
|
-
requires:
|
|
194
|
-
- install
|
|
195
|
-
- docs:
|
|
196
|
-
requires:
|
|
197
|
-
- install
|
|
198
|
-
- build:
|
|
199
|
-
context: npm
|
|
200
|
-
filters:
|
|
201
|
-
branches:
|
|
202
|
-
only:
|
|
203
|
-
- development
|
|
204
|
-
- /release-.*/
|
|
205
|
-
- master
|
|
206
|
-
requires:
|
|
207
|
-
- install
|
|
208
|
-
- security-check
|
|
209
|
-
- license-check
|
|
210
|
-
- lint
|
|
211
|
-
- coverage
|
|
212
|
-
- docs
|
|
213
|
-
|
|
File without changes
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
geotile-local.yaml
|