@leverege/build-tools 2.0.2 → 2.0.4
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/lib/server/circleate +19 -12
- package/lib/server/helmup +0 -4
- package/lib/server/pkglint +35 -0
- package/lib/web/dnsify/index.js +1 -3
- package/lib/web/packleate/Packleator.js +1 -3
- package/lib/web/packleate/index.js +1 -3
- package/package.json +2 -2
- package/src/circleate +19 -12
- package/src/helmup +0 -4
- package/src/pkglint +35 -0
- package/lib/server/pkglint/index.js +0 -22
- package/lib/web/pkglint/index.js +0 -26
- package/src/pkglint/index.js +0 -22
package/lib/server/circleate
CHANGED
|
@@ -44,7 +44,7 @@ create_server_config(){
|
|
|
44
44
|
cat<<EOCIRCLE > config.yml
|
|
45
45
|
version: 2.1
|
|
46
46
|
orbs:
|
|
47
|
-
gcp-gcr: circleci/gcp-gcr@0.
|
|
47
|
+
gcp-gcr: circleci/gcp-gcr@0.6.1
|
|
48
48
|
anchore: anchore/anchore-engine@1.2.0
|
|
49
49
|
executors:
|
|
50
50
|
default:
|
|
@@ -80,6 +80,8 @@ jobs:
|
|
|
80
80
|
timeout: '500'
|
|
81
81
|
policy_failure: true
|
|
82
82
|
- anchore/parse_reports
|
|
83
|
+
- store_artifacts:
|
|
84
|
+
path: anchore-report
|
|
83
85
|
|
|
84
86
|
gcr:
|
|
85
87
|
# gcr build docker image and pushes to gcr
|
|
@@ -90,14 +92,20 @@ jobs:
|
|
|
90
92
|
- run: |
|
|
91
93
|
echo "export CONTAINER_NAME=\$(cat ~/project/container_name)" >> \$BASH_ENV
|
|
92
94
|
echo "export PACKAGE_VERSION=\$(cat ~/project/package_version)" >> \$BASH_ENV
|
|
93
|
-
|
|
94
|
-
- gcp-gcr/build-image
|
|
95
|
+
echo "export NODE_IMAGE=\$(cat ~/project/node_img)" >> \$BASH_ENV
|
|
96
|
+
- gcp-gcr/build-and-push-image
|
|
97
|
+
- gcp-gcr/build-and-push-image
|
|
95
98
|
image: \$CONTAINER_NAME
|
|
96
99
|
tag: \$PACKAGE_VERSION
|
|
97
|
-
path
|
|
98
|
-
- gcp-gcr/
|
|
100
|
+
path: docker
|
|
101
|
+
- gcp-gcr/add-image-tag:
|
|
99
102
|
image: \$CONTAINER_NAME
|
|
100
|
-
tag: \$PACKAGE_VERSION
|
|
103
|
+
source-tag: \$PACKAGE_VERSION
|
|
104
|
+
target-tag: latest
|
|
105
|
+
- gcp-gcr/add-image-tag:
|
|
106
|
+
image: \$CONTAINER_NAME
|
|
107
|
+
source-tag: \$PACKAGE_VERSION
|
|
108
|
+
target-tag: circle-\$NODE_IMAGE-\$CIRCLE_USERNAME
|
|
101
109
|
|
|
102
110
|
smoke-test:
|
|
103
111
|
# smoke test checks for license, security, and linting
|
|
@@ -119,9 +127,7 @@ jobs:
|
|
|
119
127
|
|
|
120
128
|
- run:
|
|
121
129
|
name: Check for vulnerabilities
|
|
122
|
-
command:
|
|
123
|
-
sudo npm install -g npm@latest
|
|
124
|
-
npm audit --production
|
|
130
|
+
command: npm audit --production
|
|
125
131
|
|
|
126
132
|
- run:
|
|
127
133
|
name: Check for LICENSE and README files
|
|
@@ -230,10 +236,12 @@ jobs:
|
|
|
230
236
|
then
|
|
231
237
|
container=\$CIRCLE_PROJECT_REPONAME
|
|
232
238
|
fi
|
|
239
|
+
NODE_IMAGE="\`node -p \"require('./package.json').leverege.nodeimg\"\`"
|
|
233
240
|
|
|
234
241
|
echo v\${PACKAGE_VERSION} > package_version
|
|
235
242
|
echo "export PACKAGE_VERSION=v\${PACKAGE_VERSION}" >> \$BASH_ENV
|
|
236
243
|
echo \${container} > container_name
|
|
244
|
+
echo \${NODE_IMAGE} > node_img
|
|
237
245
|
- run:
|
|
238
246
|
name: Create Dockerfile and build dist directory
|
|
239
247
|
command: npm run dockerize \$PACKAGE_VERSION
|
|
@@ -245,6 +253,7 @@ jobs:
|
|
|
245
253
|
- docker/*
|
|
246
254
|
- package_version
|
|
247
255
|
- container_name
|
|
256
|
+
- node_img
|
|
248
257
|
- package*json
|
|
249
258
|
|
|
250
259
|
workflows:
|
|
@@ -309,9 +318,7 @@ jobs:
|
|
|
309
318
|
|
|
310
319
|
- run:
|
|
311
320
|
name: Check for vulnerabilities
|
|
312
|
-
command:
|
|
313
|
-
sudo npm install -g npm@latest
|
|
314
|
-
npm audit --production
|
|
321
|
+
command: npm audit --production
|
|
315
322
|
|
|
316
323
|
- run:
|
|
317
324
|
name: Check for LICENSE and README files
|
package/lib/server/helmup
CHANGED
|
@@ -150,10 +150,6 @@ function installVelero() {
|
|
|
150
150
|
--set schedules.timescale.template.ttl="720h" \
|
|
151
151
|
--set schedules.timescale.template.labelSelector.matchLabels.app="postgresql" \
|
|
152
152
|
--set schedules.timescale.template.snapshotVolumes="true" \
|
|
153
|
-
--set schedules.mysql.schedule="0 2 * * *" \
|
|
154
|
-
--set schedules.mysql.template.ttl="720h" \
|
|
155
|
-
--set schedules.mysql.template.labelSelector.matchLabels.app="mysql" \
|
|
156
|
-
--set schedules.mysql.template.snapshotVolumes="true"
|
|
157
153
|
|
|
158
154
|
## Instruct users to move velero keys
|
|
159
155
|
printf "\n$YELO_WARN MOVE THE SERVICE ACCOUNT TO YOUR KEYS FOLDER"
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
C_off='\e[0m'
|
|
4
|
+
C_yellow='\e[93m'
|
|
5
|
+
|
|
6
|
+
good() {
|
|
7
|
+
printf "\e[32m✔${C_off}"
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
bad() {
|
|
11
|
+
printf "\e[31m✘${C_off}"
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
check_file() {
|
|
15
|
+
local C_stat=$(bad)
|
|
16
|
+
local filename=$1
|
|
17
|
+
|
|
18
|
+
if [ -f $filename ]; then
|
|
19
|
+
C_stat=$(good)
|
|
20
|
+
printf "$C_stat $filename\n"
|
|
21
|
+
else
|
|
22
|
+
printf "$C_stat $filename is missing\n\n"
|
|
23
|
+
printf "${C_yellow} Please create $filename before pushing to prod\n\n"
|
|
24
|
+
exit 1
|
|
25
|
+
fi
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
printf "\nChecking repo for markdown files\n\n"
|
|
29
|
+
|
|
30
|
+
files=( README.md LICENSE.md )
|
|
31
|
+
for file in ${files[@]}; do
|
|
32
|
+
check_file $file
|
|
33
|
+
done
|
|
34
|
+
|
|
35
|
+
printf "\nAll required files exist\n\n"
|
package/lib/web/dnsify/index.js
CHANGED
|
@@ -5,8 +5,6 @@ require("core-js/modules/es.symbol");
|
|
|
5
5
|
|
|
6
6
|
require("core-js/modules/es.array.filter");
|
|
7
7
|
|
|
8
|
-
require("core-js/modules/es.array.for-each");
|
|
9
|
-
|
|
10
8
|
require("core-js/modules/es.object.get-own-property-descriptor");
|
|
11
9
|
|
|
12
10
|
require("core-js/modules/es.object.get-own-property-descriptors");
|
|
@@ -23,7 +21,7 @@ require("regenerator-runtime/runtime");
|
|
|
23
21
|
|
|
24
22
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
25
23
|
|
|
26
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(
|
|
24
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
27
25
|
|
|
28
26
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
29
27
|
|
|
@@ -6,8 +6,6 @@ require("core-js/modules/es.array.concat");
|
|
|
6
6
|
|
|
7
7
|
require("core-js/modules/es.array.filter");
|
|
8
8
|
|
|
9
|
-
require("core-js/modules/es.array.for-each");
|
|
10
|
-
|
|
11
9
|
require("core-js/modules/es.array.index-of");
|
|
12
10
|
|
|
13
11
|
require("core-js/modules/es.array.iterator");
|
|
@@ -48,7 +46,7 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
|
|
|
48
46
|
|
|
49
47
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
50
48
|
|
|
51
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(
|
|
49
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
52
50
|
|
|
53
51
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
54
52
|
|
|
@@ -5,8 +5,6 @@ require("core-js/modules/es.symbol");
|
|
|
5
5
|
|
|
6
6
|
require("core-js/modules/es.array.filter");
|
|
7
7
|
|
|
8
|
-
require("core-js/modules/es.array.for-each");
|
|
9
|
-
|
|
10
8
|
require("core-js/modules/es.object.get-own-property-descriptor");
|
|
11
9
|
|
|
12
10
|
require("core-js/modules/es.object.get-own-property-descriptors");
|
|
@@ -23,7 +21,7 @@ require("regenerator-runtime/runtime");
|
|
|
23
21
|
|
|
24
22
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
25
23
|
|
|
26
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(
|
|
24
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
27
25
|
|
|
28
26
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
29
27
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@leverege/build-tools",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.4",
|
|
4
4
|
"description": "A package for development build tools.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"overwhelm": "src/overwhelm",
|
|
29
29
|
"packleate": "lib/web/packleate/index.js",
|
|
30
30
|
"pkgck": "src/pkgck",
|
|
31
|
-
"pkglint": "
|
|
31
|
+
"pkglint": "src/pkglint"
|
|
32
32
|
},
|
|
33
33
|
"author": "Leverege Devs",
|
|
34
34
|
"license": "SEE LICENSE IN LICENSE.md",
|
package/src/circleate
CHANGED
|
@@ -44,7 +44,7 @@ create_server_config(){
|
|
|
44
44
|
cat<<EOCIRCLE > config.yml
|
|
45
45
|
version: 2.1
|
|
46
46
|
orbs:
|
|
47
|
-
gcp-gcr: circleci/gcp-gcr@0.
|
|
47
|
+
gcp-gcr: circleci/gcp-gcr@0.6.1
|
|
48
48
|
anchore: anchore/anchore-engine@1.2.0
|
|
49
49
|
executors:
|
|
50
50
|
default:
|
|
@@ -80,6 +80,8 @@ jobs:
|
|
|
80
80
|
timeout: '500'
|
|
81
81
|
policy_failure: true
|
|
82
82
|
- anchore/parse_reports
|
|
83
|
+
- store_artifacts:
|
|
84
|
+
path: anchore-report
|
|
83
85
|
|
|
84
86
|
gcr:
|
|
85
87
|
# gcr build docker image and pushes to gcr
|
|
@@ -90,14 +92,20 @@ jobs:
|
|
|
90
92
|
- run: |
|
|
91
93
|
echo "export CONTAINER_NAME=\$(cat ~/project/container_name)" >> \$BASH_ENV
|
|
92
94
|
echo "export PACKAGE_VERSION=\$(cat ~/project/package_version)" >> \$BASH_ENV
|
|
93
|
-
|
|
94
|
-
- gcp-gcr/build-image
|
|
95
|
+
echo "export NODE_IMAGE=\$(cat ~/project/node_img)" >> \$BASH_ENV
|
|
96
|
+
- gcp-gcr/build-and-push-image
|
|
97
|
+
- gcp-gcr/build-and-push-image
|
|
95
98
|
image: \$CONTAINER_NAME
|
|
96
99
|
tag: \$PACKAGE_VERSION
|
|
97
|
-
path
|
|
98
|
-
- gcp-gcr/
|
|
100
|
+
path: docker
|
|
101
|
+
- gcp-gcr/add-image-tag:
|
|
99
102
|
image: \$CONTAINER_NAME
|
|
100
|
-
tag: \$PACKAGE_VERSION
|
|
103
|
+
source-tag: \$PACKAGE_VERSION
|
|
104
|
+
target-tag: latest
|
|
105
|
+
- gcp-gcr/add-image-tag:
|
|
106
|
+
image: \$CONTAINER_NAME
|
|
107
|
+
source-tag: \$PACKAGE_VERSION
|
|
108
|
+
target-tag: circle-\$NODE_IMAGE-\$CIRCLE_USERNAME
|
|
101
109
|
|
|
102
110
|
smoke-test:
|
|
103
111
|
# smoke test checks for license, security, and linting
|
|
@@ -119,9 +127,7 @@ jobs:
|
|
|
119
127
|
|
|
120
128
|
- run:
|
|
121
129
|
name: Check for vulnerabilities
|
|
122
|
-
command:
|
|
123
|
-
sudo npm install -g npm@latest
|
|
124
|
-
npm audit --production
|
|
130
|
+
command: npm audit --production
|
|
125
131
|
|
|
126
132
|
- run:
|
|
127
133
|
name: Check for LICENSE and README files
|
|
@@ -230,10 +236,12 @@ jobs:
|
|
|
230
236
|
then
|
|
231
237
|
container=\$CIRCLE_PROJECT_REPONAME
|
|
232
238
|
fi
|
|
239
|
+
NODE_IMAGE="\`node -p \"require('./package.json').leverege.nodeimg\"\`"
|
|
233
240
|
|
|
234
241
|
echo v\${PACKAGE_VERSION} > package_version
|
|
235
242
|
echo "export PACKAGE_VERSION=v\${PACKAGE_VERSION}" >> \$BASH_ENV
|
|
236
243
|
echo \${container} > container_name
|
|
244
|
+
echo \${NODE_IMAGE} > node_img
|
|
237
245
|
- run:
|
|
238
246
|
name: Create Dockerfile and build dist directory
|
|
239
247
|
command: npm run dockerize \$PACKAGE_VERSION
|
|
@@ -245,6 +253,7 @@ jobs:
|
|
|
245
253
|
- docker/*
|
|
246
254
|
- package_version
|
|
247
255
|
- container_name
|
|
256
|
+
- node_img
|
|
248
257
|
- package*json
|
|
249
258
|
|
|
250
259
|
workflows:
|
|
@@ -309,9 +318,7 @@ jobs:
|
|
|
309
318
|
|
|
310
319
|
- run:
|
|
311
320
|
name: Check for vulnerabilities
|
|
312
|
-
command:
|
|
313
|
-
sudo npm install -g npm@latest
|
|
314
|
-
npm audit --production
|
|
321
|
+
command: npm audit --production
|
|
315
322
|
|
|
316
323
|
- run:
|
|
317
324
|
name: Check for LICENSE and README files
|
package/src/helmup
CHANGED
|
@@ -150,10 +150,6 @@ function installVelero() {
|
|
|
150
150
|
--set schedules.timescale.template.ttl="720h" \
|
|
151
151
|
--set schedules.timescale.template.labelSelector.matchLabels.app="postgresql" \
|
|
152
152
|
--set schedules.timescale.template.snapshotVolumes="true" \
|
|
153
|
-
--set schedules.mysql.schedule="0 2 * * *" \
|
|
154
|
-
--set schedules.mysql.template.ttl="720h" \
|
|
155
|
-
--set schedules.mysql.template.labelSelector.matchLabels.app="mysql" \
|
|
156
|
-
--set schedules.mysql.template.snapshotVolumes="true"
|
|
157
153
|
|
|
158
154
|
## Instruct users to move velero keys
|
|
159
155
|
printf "\n$YELO_WARN MOVE THE SERVICE ACCOUNT TO YOUR KEYS FOLDER"
|
package/src/pkglint
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
C_off='\e[0m'
|
|
4
|
+
C_yellow='\e[93m'
|
|
5
|
+
|
|
6
|
+
good() {
|
|
7
|
+
printf "\e[32m✔${C_off}"
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
bad() {
|
|
11
|
+
printf "\e[31m✘${C_off}"
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
check_file() {
|
|
15
|
+
local C_stat=$(bad)
|
|
16
|
+
local filename=$1
|
|
17
|
+
|
|
18
|
+
if [ -f $filename ]; then
|
|
19
|
+
C_stat=$(good)
|
|
20
|
+
printf "$C_stat $filename\n"
|
|
21
|
+
else
|
|
22
|
+
printf "$C_stat $filename is missing\n\n"
|
|
23
|
+
printf "${C_yellow} Please create $filename before pushing to prod\n\n"
|
|
24
|
+
exit 1
|
|
25
|
+
fi
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
printf "\nChecking repo for markdown files\n\n"
|
|
29
|
+
|
|
30
|
+
files=( README.md LICENSE.md )
|
|
31
|
+
for file in ${files[@]}; do
|
|
32
|
+
check_file $file
|
|
33
|
+
done
|
|
34
|
+
|
|
35
|
+
printf "\nAll required files exist\n\n"
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
"use strict";
|
|
3
|
-
|
|
4
|
-
const glob = require('glob');
|
|
5
|
-
|
|
6
|
-
const filesToCheck = ['README.md', 'LICENSE.md'];
|
|
7
|
-
const mdFiles = glob.sync('*.md'); // from https://github.com/lodash/lodash/issues/1743
|
|
8
|
-
|
|
9
|
-
function arrayContainsArray(superset, subset) {
|
|
10
|
-
if (subset.length === 0) {
|
|
11
|
-
return false;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
return subset.every(value => {
|
|
15
|
-
return superset.indexOf(value) >= 0;
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
if (!arrayContainsArray(mdFiles, filesToCheck)) {
|
|
20
|
-
console.log('Cannot find README.md or LICENSE.md');
|
|
21
|
-
process.exit(1);
|
|
22
|
-
}
|
package/lib/web/pkglint/index.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
"use strict";
|
|
3
|
-
|
|
4
|
-
require("core-js/modules/es.array.every");
|
|
5
|
-
|
|
6
|
-
require("core-js/modules/es.array.index-of");
|
|
7
|
-
|
|
8
|
-
var glob = require('glob');
|
|
9
|
-
|
|
10
|
-
var filesToCheck = ['README.md', 'LICENSE.md'];
|
|
11
|
-
var mdFiles = glob.sync('*.md'); // from https://github.com/lodash/lodash/issues/1743
|
|
12
|
-
|
|
13
|
-
function arrayContainsArray(superset, subset) {
|
|
14
|
-
if (subset.length === 0) {
|
|
15
|
-
return false;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
return subset.every(function (value) {
|
|
19
|
-
return superset.indexOf(value) >= 0;
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
if (!arrayContainsArray(mdFiles, filesToCheck)) {
|
|
24
|
-
console.log('Cannot find README.md or LICENSE.md');
|
|
25
|
-
process.exit(1);
|
|
26
|
-
}
|
package/src/pkglint/index.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
const glob = require( 'glob' )
|
|
4
|
-
|
|
5
|
-
const filesToCheck = [ 'README.md', 'LICENSE.md' ]
|
|
6
|
-
|
|
7
|
-
const mdFiles = glob.sync( '*.md' )
|
|
8
|
-
|
|
9
|
-
// from https://github.com/lodash/lodash/issues/1743
|
|
10
|
-
function arrayContainsArray( superset, subset ) {
|
|
11
|
-
if ( subset.length === 0 ) {
|
|
12
|
-
return false
|
|
13
|
-
}
|
|
14
|
-
return subset.every( ( value ) => {
|
|
15
|
-
return ( superset.indexOf( value ) >= 0 )
|
|
16
|
-
} )
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
if ( !arrayContainsArray( mdFiles, filesToCheck ) ) {
|
|
20
|
-
console.log( 'Cannot find README.md or LICENSE.md' )
|
|
21
|
-
process.exit( 1 )
|
|
22
|
-
}
|