Skip to content

Commit 6ac17ce

Browse files
committed
Add ability to serve installer scripts on request
1 parent 0319c3f commit 6ac17ce

File tree

4 files changed

+192
-10
lines changed

4 files changed

+192
-10
lines changed

functions/index.js

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,26 @@
22

33
const functions = require('firebase-functions');
44
const express = require('express');
5-
const app = express();
5+
const {Storage} = require('@google-cloud/storage');
6+
67

7-
const cors = require('cors')({origin: true});
8-
app.use(cors);
8+
const app = express();
9+
const storage = new Storage();
10+
const bucket = storage.bucket('installer-to.appspot.com');
911

1012
app.get('/', (req, res) => {
1113
res.json({ status: 'OK' });
1214
});
1315

1416
app.get('/:package', (req, res) => {
15-
res.json( req.params );
17+
try {
18+
const file = bucket.file(req.params.package + '/installer.sh');
19+
res.set('Content-Type', 'text/plain');
20+
const readStream = file.createReadStream();
21+
readStream.pipe(res);
22+
} catch (e) {
23+
res.send(e);
24+
}
1625
});
1726

1827
exports.app = functions.https.onRequest(app);

functions/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"name": "installer.to",
33
"description": "A simple repo of installer scripts",
44
"dependencies": {
5+
"@google-cloud/storage": "^2.4.1",
56
"cors": "^2.8.5",
67
"express": "^4.16.4",
78
"firebase-admin": "~6.5.1",

functions/yarn.lock

Lines changed: 175 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,23 @@
7070
string-format-obj "^1.1.0"
7171
through2 "^2.0.3"
7272

73+
"@google-cloud/common@^0.30.2":
74+
version "0.30.2"
75+
resolved "https://registry.yarnpkg.com/@google-cloud/common/-/common-0.30.2.tgz#a00c4811d6f0c3eb86f163192215de750fbc61c6"
76+
integrity sha512-JLIaSpMhhUetiwS30iC2SwNP51mayuSbyhRVdagqFC6rDVcqMHHsN8QJwUhCjOoHyfQ04n9SinfMCQzJTR9Liw==
77+
dependencies:
78+
"@google-cloud/projectify" "^0.3.2"
79+
"@google-cloud/promisify" "^0.3.0"
80+
"@types/duplexify" "^3.5.0"
81+
"@types/request" "^2.47.0"
82+
arrify "^1.0.1"
83+
duplexify "^3.6.0"
84+
ent "^2.2.0"
85+
extend "^3.0.1"
86+
google-auth-library "^3.0.0"
87+
pify "^4.0.0"
88+
retry-request "^4.0.0"
89+
7390
"@google-cloud/firestore@^0.19.0":
7491
version "0.19.0"
7592
resolved "https://registry.yarnpkg.com/@google-cloud/firestore/-/firestore-0.19.0.tgz#c16c426a2af33badfa0257245bc04730c7094fec"
@@ -86,11 +103,27 @@
86103
protobufjs "^6.8.6"
87104
through2 "^3.0.0"
88105

89-
"@google-cloud/projectify@^0.3.0":
106+
"@google-cloud/paginator@^0.1.0":
107+
version "0.1.2"
108+
resolved "https://registry.yarnpkg.com/@google-cloud/paginator/-/paginator-0.1.2.tgz#a7e6579e43f153055b4c65035a6729490a611a60"
109+
integrity sha512-XL09cuPSEPyyNifavxWJRYkUFr5zCJ9njcFjqc1AqSQ2QIKycwdTxOP/zHsAWj0xN3rw1ApevA8o+8VAD4R6hw==
110+
dependencies:
111+
arrify "^1.0.1"
112+
extend "^3.0.1"
113+
is "^3.2.1"
114+
split-array-stream "^2.0.0"
115+
stream-events "^1.0.4"
116+
117+
"@google-cloud/projectify@^0.3.0", "@google-cloud/projectify@^0.3.2":
90118
version "0.3.2"
91119
resolved "https://registry.yarnpkg.com/@google-cloud/projectify/-/projectify-0.3.2.tgz#ed54c98cae646dc03a742eac288184a13d33a4c2"
92120
integrity sha512-t1bs5gE105IpgikX7zPCJZzVyXM5xZ/1kJomUPim2E2pNp4OUUFNyvKm/T2aM6GBP2F30o8abCD+/wbOhHWYYA==
93121

122+
"@google-cloud/promisify@^0.3.0":
123+
version "0.3.1"
124+
resolved "https://registry.yarnpkg.com/@google-cloud/promisify/-/promisify-0.3.1.tgz#f641e6d944a8e0a05ee0cb1091dfa60089becdba"
125+
integrity sha512-QzB0/IMvB0eFxFK7Eqh+bfC8NLv3E9ScjWQrPOk6GgfNroxcVITdTlT8NRsRrcp5+QQJVPLkRqKG0PUdaWXmHw==
126+
94127
"@google-cloud/storage@^1.6.0":
95128
version "1.7.0"
96129
resolved "https://registry.yarnpkg.com/@google-cloud/storage/-/storage-1.7.0.tgz#07bff573d92d5c294db6a04af246688875a8f74b"
@@ -118,6 +151,32 @@
118151
through2 "^2.0.0"
119152
xdg-basedir "^3.0.0"
120153

154+
"@google-cloud/storage@^2.4.1":
155+
version "2.4.1"
156+
resolved "https://registry.yarnpkg.com/@google-cloud/storage/-/storage-2.4.1.tgz#51871149304dd1341e2c32906abdbf8213ef1ea6"
157+
integrity sha512-g9GQ/CWkB2Y1wyMnlWvj7dGbChIxfuran0O6kUtvqTKTLBpZpsvWo86xQV723JMXi/BenLkE1vy353bnRsa3Fw==
158+
dependencies:
159+
"@google-cloud/common" "^0.30.2"
160+
"@google-cloud/paginator" "^0.1.0"
161+
"@google-cloud/promisify" "^0.3.0"
162+
arrify "^1.0.0"
163+
async "^2.0.1"
164+
compressible "^2.0.12"
165+
concat-stream "^2.0.0"
166+
duplexify "^3.5.0"
167+
extend "^3.0.0"
168+
gcs-resumable-upload "^0.14.1"
169+
hash-stream-validation "^0.2.1"
170+
mime "^2.2.0"
171+
mime-types "^2.0.8"
172+
once "^1.3.1"
173+
pumpify "^1.5.1"
174+
snakeize "^0.1.0"
175+
stream-events "^1.0.1"
176+
teeny-request "^3.11.3"
177+
through2 "^3.0.0"
178+
xdg-basedir "^3.0.0"
179+
121180
"@grpc/grpc-js@^0.3.0":
122181
version "0.3.4"
123182
resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-0.3.4.tgz#b53a90405063e2fc62a15267172d4f60c129cf1b"
@@ -215,6 +274,13 @@
215274
dependencies:
216275
"@types/express" "*"
217276

277+
"@types/duplexify@^3.5.0":
278+
version "3.6.0"
279+
resolved "https://registry.yarnpkg.com/@types/duplexify/-/duplexify-3.6.0.tgz#dfc82b64bd3a2168f5bd26444af165bf0237dcd8"
280+
integrity sha512-5zOA53RUlzN74bvrSGwjudssD9F3a797sDZQkiYpUOxW+WHaXTCPz4/d5Dgi6FKnOqZ2CpaTo0DhgIfsXAOE/A==
281+
dependencies:
282+
"@types/node" "*"
283+
218284
"@types/express-serve-static-core@*":
219285
version "4.16.1"
220286
resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.16.1.tgz#35df7b302299a4ab138a643617bd44078e74d44e"
@@ -289,7 +355,7 @@
289355
resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.3.tgz#7ee330ba7caafb98090bece86a5ee44115904c2c"
290356
integrity sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==
291357

292-
"@types/request@*":
358+
"@types/request@*", "@types/request@^2.47.0":
293359
version "2.48.1"
294360
resolved "https://registry.yarnpkg.com/@types/request/-/request-2.48.1.tgz#e402d691aa6670fbbff1957b15f1270230ab42fa"
295361
integrity sha512-ZgEZ1TiD+KGA9LiAAPPJL68Id2UWfeSO62ijSXZjFJArVV+2pKcsVHmrcu+1oiE3q6eDGiFiSolRc4JHoerBBg==
@@ -500,13 +566,23 @@ balanced-match@^1.0.0:
500566
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
501567
integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
502568

569+
base64-js@^1.3.0:
570+
version "1.3.0"
571+
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3"
572+
integrity sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==
573+
503574
bcrypt-pbkdf@^1.0.0:
504575
version "1.0.2"
505576
resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
506577
integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=
507578
dependencies:
508579
tweetnacl "^0.14.3"
509580

581+
bignumber.js@^7.0.0:
582+
version "7.2.1"
583+
resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-7.2.1.tgz#80c048759d826800807c4bfd521e50edbba57a5f"
584+
integrity sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ==
585+
510586
511587
version "1.18.3"
512588
resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.3.tgz#5b292198ffdd553b3a0f20ded0592b956955c8b4"
@@ -699,6 +775,16 @@ concat-stream@^1.5.0, concat-stream@^1.6.0:
699775
readable-stream "^2.2.2"
700776
typedarray "^0.0.6"
701777

778+
concat-stream@^2.0.0:
779+
version "2.0.0"
780+
resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-2.0.0.tgz#414cf5af790a48c60ab9be4527d56d5e41133cb1"
781+
integrity sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==
782+
dependencies:
783+
buffer-from "^1.0.0"
784+
inherits "^2.0.3"
785+
readable-stream "^3.0.2"
786+
typedarray "^0.0.6"
787+
702788
configstore@^3.1.2:
703789
version "3.1.2"
704790
resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.2.tgz#c6f25defaeef26df12dd33414b001fe81a543f8f"
@@ -711,6 +797,18 @@ configstore@^3.1.2:
711797
write-file-atomic "^2.0.0"
712798
xdg-basedir "^3.0.0"
713799

800+
configstore@^4.0.0:
801+
version "4.0.0"
802+
resolved "https://registry.yarnpkg.com/configstore/-/configstore-4.0.0.tgz#5933311e95d3687efb592c528b922d9262d227e7"
803+
integrity sha512-CmquAXFBocrzaSM8mtGPMM/HiWmyIpr4CcJl/rgY2uCObZ/S7cKU0silxslqJejl+t/T9HS8E0PUNQD81JGUEQ==
804+
dependencies:
805+
dot-prop "^4.1.0"
806+
graceful-fs "^4.1.2"
807+
make-dir "^1.0.0"
808+
unique-string "^1.0.0"
809+
write-file-atomic "^2.0.0"
810+
xdg-basedir "^3.0.0"
811+
714812
console-control-strings@^1.0.0, console-control-strings@~1.1.0:
715813
version "1.1.0"
716814
resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
@@ -1115,6 +1213,11 @@ fast-levenshtein@~2.0.4:
11151213
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
11161214
integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
11171215

1216+
fast-text-encoding@^1.0.0:
1217+
version "1.0.0"
1218+
resolved "https://registry.yarnpkg.com/fast-text-encoding/-/fast-text-encoding-1.0.0.tgz#3e5ce8293409cfaa7177a71b9ca84e1b1e6f25ef"
1219+
integrity sha512-R9bHCvweUxxwkDwhjav5vxpFvdPGlVngtqmx4pIZfSUhM/Q4NiIUHB456BAf+Q1Nwu3HEZYONtu+Rya+af4jiQ==
1220+
11181221
11191222
version "0.11.1"
11201223
resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz#f0efe18c4f56e4f40afc7e06c719fd5ee6188f38"
@@ -1251,6 +1354,15 @@ gauge@~2.7.3:
12511354
strip-ansi "^3.0.1"
12521355
wide-align "^1.1.0"
12531356

1357+
gaxios@^1.0.2, gaxios@^1.2.1:
1358+
version "1.2.7"
1359+
resolved "https://registry.yarnpkg.com/gaxios/-/gaxios-1.2.7.tgz#484b2ec996b0da75898cf8560e7cc6bc5104f840"
1360+
integrity sha512-E0tFhk7gqyLReJeBE/APaokrVNJ9zVHuuBKNTXTRhfItUhV0pW42NzzOJiK5kKup/4R+2e/SXJRRp2LT5huF8Q==
1361+
dependencies:
1362+
extend "^3.0.2"
1363+
https-proxy-agent "^2.2.1"
1364+
node-fetch "^2.2.0"
1365+
12541366
gaxios@^1.0.4:
12551367
version "1.2.6"
12561368
resolved "https://registry.yarnpkg.com/gaxios/-/gaxios-1.2.6.tgz#c511473a2fda7518ec142dd15e56489d4d9f4248"
@@ -1278,6 +1390,14 @@ gcp-metadata@^0.7.0:
12781390
extend "^3.0.1"
12791391
retry-axios "0.3.2"
12801392

1393+
gcp-metadata@^0.9.3:
1394+
version "0.9.3"
1395+
resolved "https://registry.yarnpkg.com/gcp-metadata/-/gcp-metadata-0.9.3.tgz#1f9d7495f7460a14526481f29e11596dd563dd26"
1396+
integrity sha512-caV4S84xAjENtpezLCT/GILEAF5h/bC4cNqZFmt/tjTn8t+JBtTkQrgBrJu3857YdsnlM8rxX/PMcKGtE8hUlw==
1397+
dependencies:
1398+
gaxios "^1.0.2"
1399+
json-bigint "^0.3.0"
1400+
12811401
gcs-resumable-upload@^0.10.2:
12821402
version "0.10.2"
12831403
resolved "https://registry.yarnpkg.com/gcs-resumable-upload/-/gcs-resumable-upload-0.10.2.tgz#7f29b3ee23dcec4170367c0711418249c660545f"
@@ -1289,6 +1409,17 @@ gcs-resumable-upload@^0.10.2:
12891409
request "^2.85.0"
12901410
stream-events "^1.0.3"
12911411

1412+
gcs-resumable-upload@^0.14.1:
1413+
version "0.14.1"
1414+
resolved "https://registry.yarnpkg.com/gcs-resumable-upload/-/gcs-resumable-upload-0.14.1.tgz#d0b0b2acc608d63e4164329b0a1231227383b532"
1415+
integrity sha512-vkIxLeVyW20DdcyhI8GvOkISV62y7+fKAdelUTn8F5en8AmPduqro5xz3VoHkj/RJ3PQmqNovYYaYPyPHwebzw==
1416+
dependencies:
1417+
configstore "^4.0.0"
1418+
google-auth-library "^3.0.0"
1419+
pumpify "^1.5.1"
1420+
request "^2.87.0"
1421+
stream-events "^1.0.4"
1422+
12921423
getpass@^0.1.1:
12931424
version "0.1.7"
12941425
resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
@@ -1339,6 +1470,21 @@ google-auth-library@^2.0.0:
13391470
lru-cache "^5.0.0"
13401471
semver "^5.5.0"
13411472

1473+
google-auth-library@^3.0.0:
1474+
version "3.0.1"
1475+
resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-3.0.1.tgz#9eb5dc36978fe216a9af9354b8b8f91a5438007c"
1476+
integrity sha512-ZGTBMiQga/pwEw26ZKCn+q9PTPXvE4v5sL2V9HV3f2Gt0lrS+2H7XgbVCx850jrvlEL59JIheFiDqEn9CIa0nA==
1477+
dependencies:
1478+
base64-js "^1.3.0"
1479+
fast-text-encoding "^1.0.0"
1480+
gaxios "^1.2.1"
1481+
gcp-metadata "^0.9.3"
1482+
gtoken "^2.3.2"
1483+
https-proxy-agent "^2.2.1"
1484+
jws "^3.1.5"
1485+
lru-cache "^5.0.0"
1486+
semver "^5.5.0"
1487+
13421488
google-auto-auth@^0.10.0:
13431489
version "0.10.1"
13441490
resolved "https://registry.yarnpkg.com/google-auto-auth/-/google-auto-auth-0.10.1.tgz#68834a6f3da59a6cb27fce56f76e3d99ee49d0a2"
@@ -1400,7 +1546,7 @@ grpc@^1.16.0:
14001546
node-pre-gyp "^0.12.0"
14011547
protobufjs "^5.0.3"
14021548

1403-
gtoken@^2.3.0:
1549+
gtoken@^2.3.0, gtoken@^2.3.2:
14041550
version "2.3.2"
14051551
resolved "https://registry.yarnpkg.com/gtoken/-/gtoken-2.3.2.tgz#49890a866c1f44e173099be95515db5872a92151"
14061552
integrity sha512-F8EObUGyC8Qd3WXTloNULZBwfUsOABoHElihB1F6zGhT/cy38iPL09wGLRY712I+hQnOyA+sYlgPFX2cOKz0qg==
@@ -1644,6 +1790,13 @@ jsbn@~0.1.0:
16441790
resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
16451791
integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM=
16461792

1793+
json-bigint@^0.3.0:
1794+
version "0.3.0"
1795+
resolved "https://registry.yarnpkg.com/json-bigint/-/json-bigint-0.3.0.tgz#0ccd912c4b8270d05f056fbd13814b53d3825b1e"
1796+
integrity sha1-DM2RLEuCcNBfBW+9E4FLU9OCWx4=
1797+
dependencies:
1798+
bignumber.js "^7.0.0"
1799+
16471800
json-schema-traverse@^0.3.0:
16481801
version "0.3.1"
16491802
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340"
@@ -2273,7 +2426,7 @@ rc@^1.2.7:
22732426
minimist "^1.2.0"
22742427
strip-json-comments "~2.0.1"
22752428

2276-
"readable-stream@2 || 3":
2429+
"readable-stream@2 || 3", readable-stream@^3.0.2:
22772430
version "3.1.1"
22782431
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.1.1.tgz#ed6bbc6c5ba58b090039ff18ce670515795aeb06"
22792432
integrity sha512-DkN66hPyqDhnIQ6Jcsvx9bFjhw214O4poMBcIMgPVpQvNy9a0e0Uhg5SqySyDKAmUlwt8LonTBz1ezOnM8pUdA==
@@ -2310,7 +2463,7 @@ regexpp@^1.0.1:
23102463
resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-1.1.0.tgz#0e3516dd0b7904f413d2d4193dce4618c3a689ab"
23112464
integrity sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==
23122465

2313-
request@^2.79.0, request@^2.81.0, request@^2.85.0:
2466+
request@^2.79.0, request@^2.81.0, request@^2.85.0, request@^2.87.0:
23142467
version "2.88.0"
23152468
resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef"
23162469
integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==
@@ -2499,6 +2652,13 @@ split-array-stream@^1.0.0:
24992652
async "^2.4.0"
25002653
is-stream-ended "^0.1.0"
25012654

2655+
split-array-stream@^2.0.0:
2656+
version "2.0.0"
2657+
resolved "https://registry.yarnpkg.com/split-array-stream/-/split-array-stream-2.0.0.tgz#85a4f8bfe14421d7bca7f33a6d176d0c076a53b1"
2658+
integrity sha512-hmMswlVY91WvGMxs0k8MRgq8zb2mSen4FmDNc5AFiTWtrBpdZN6nwD6kROVe4vNL+ywrvbCKsWVCnEd4riELIg==
2659+
dependencies:
2660+
is-stream-ended "^0.1.4"
2661+
25022662
sprintf-js@~1.0.2:
25032663
version "1.0.3"
25042664
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
@@ -2529,7 +2689,7 @@ statuses@~1.4.0:
25292689
resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087"
25302690
integrity sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==
25312691

2532-
stream-events@^1.0.1, stream-events@^1.0.3:
2692+
stream-events@^1.0.1, stream-events@^1.0.3, stream-events@^1.0.4:
25332693
version "1.0.5"
25342694
resolved "https://registry.yarnpkg.com/stream-events/-/stream-events-1.0.5.tgz#bbc898ec4df33a4902d892333d47da9bf1c406d5"
25352695
integrity sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg==
@@ -2643,6 +2803,15 @@ tar@^4:
26432803
safe-buffer "^5.1.2"
26442804
yallist "^3.0.2"
26452805

2806+
teeny-request@^3.11.3:
2807+
version "3.11.3"
2808+
resolved "https://registry.yarnpkg.com/teeny-request/-/teeny-request-3.11.3.tgz#335c629f7645e5d6599362df2f3230c4cbc23a55"
2809+
integrity sha512-CKncqSF7sH6p4rzCgkb/z/Pcos5efl0DmolzvlqRQUNcpRIruOhY9+T1FsIlyEbfWd7MsFpodROOwHYh2BaXzw==
2810+
dependencies:
2811+
https-proxy-agent "^2.2.1"
2812+
node-fetch "^2.2.0"
2813+
uuid "^3.3.2"
2814+
26462815
text-table@~0.2.0:
26472816
version "0.2.0"
26482817
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"

installers/hello/installer.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/sh
2+
3+
echo "Hello!"

0 commit comments

Comments
 (0)