netlify-cli 16.7.0 → 16.8.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.
Files changed (100) hide show
  1. package/README.md +10 -0
  2. package/npm-shrinkwrap.json +16123 -10639
  3. package/package.json +6 -4
  4. package/src/commands/build/build.mjs +4 -2
  5. package/src/commands/deploy/deploy.mjs +11 -3
  6. package/src/commands/integration/deploy.mjs +397 -0
  7. package/src/commands/integration/index.mjs +25 -0
  8. package/src/commands/main.mjs +2 -0
  9. package/src/lib/build.mjs +3 -1
  10. package/src/lib/edge-functions/consts.mjs +1 -0
  11. package/src/lib/edge-functions/proxy.mjs +1 -2
  12. package/src/lib/edge-functions/registry.mjs +15 -19
  13. package/src/lib/functions/registry.mjs +31 -4
  14. package/src/lib/functions/server.mjs +15 -0
  15. package/src/functions-templates/javascript/apollo-graphql/.netlify-function-template.mjs +0 -5
  16. package/src/functions-templates/javascript/apollo-graphql/package.json +0 -21
  17. package/src/functions-templates/javascript/apollo-graphql/{{name}}.js +0 -42
  18. package/src/functions-templates/javascript/apollo-graphql-rest/.netlify-function-template.mjs +0 -5
  19. package/src/functions-templates/javascript/apollo-graphql-rest/package.json +0 -22
  20. package/src/functions-templates/javascript/apollo-graphql-rest/random-user.js +0 -23
  21. package/src/functions-templates/javascript/apollo-graphql-rest/{{name}}.js +0 -68
  22. package/src/functions-templates/javascript/auth-fetch/.netlify-function-template.mjs +0 -11
  23. package/src/functions-templates/javascript/auth-fetch/package-lock.json +0 -83
  24. package/src/functions-templates/javascript/auth-fetch/package.json +0 -21
  25. package/src/functions-templates/javascript/auth-fetch/{{name}}.js +0 -39
  26. package/src/functions-templates/javascript/create-user/.netlify-function-template.mjs +0 -11
  27. package/src/functions-templates/javascript/create-user/package.json +0 -21
  28. package/src/functions-templates/javascript/create-user/{{name}}.js +0 -36
  29. package/src/functions-templates/javascript/fauna-crud/.netlify-function-template.mjs +0 -17
  30. package/src/functions-templates/javascript/fauna-crud/create-schema.js +0 -36
  31. package/src/functions-templates/javascript/fauna-crud/create.js +0 -37
  32. package/src/functions-templates/javascript/fauna-crud/delete.js +0 -29
  33. package/src/functions-templates/javascript/fauna-crud/package.json +0 -20
  34. package/src/functions-templates/javascript/fauna-crud/read-all.js +0 -33
  35. package/src/functions-templates/javascript/fauna-crud/read.js +0 -30
  36. package/src/functions-templates/javascript/fauna-crud/update.js +0 -30
  37. package/src/functions-templates/javascript/fauna-crud/{{name}}.js +0 -62
  38. package/src/functions-templates/javascript/fauna-graphql/.netlify-function-template.mjs +0 -17
  39. package/src/functions-templates/javascript/fauna-graphql/package.json +0 -26
  40. package/src/functions-templates/javascript/fauna-graphql/schema.graphql +0 -8
  41. package/src/functions-templates/javascript/fauna-graphql/sync-schema.js +0 -38
  42. package/src/functions-templates/javascript/fauna-graphql/{{name}}.js +0 -46
  43. package/src/functions-templates/javascript/google-analytics/.netlify-function-template.mjs +0 -5
  44. package/src/functions-templates/javascript/google-analytics/package-lock.json +0 -100
  45. package/src/functions-templates/javascript/google-analytics/package.json +0 -25
  46. package/src/functions-templates/javascript/google-analytics/{{name}}.js +0 -114
  47. package/src/functions-templates/javascript/graphql-gateway/.netlify-function-template.mjs +0 -5
  48. package/src/functions-templates/javascript/graphql-gateway/example-sibling-function-graphql-1.js +0 -42
  49. package/src/functions-templates/javascript/graphql-gateway/example-sibling-function-graphql-2.js +0 -80
  50. package/src/functions-templates/javascript/graphql-gateway/package.json +0 -24
  51. package/src/functions-templates/javascript/graphql-gateway/{{name}}.js +0 -75
  52. package/src/functions-templates/javascript/hasura-event-triggered/.netlify-function-template.mjs +0 -5
  53. package/src/functions-templates/javascript/hasura-event-triggered/package.json +0 -21
  54. package/src/functions-templates/javascript/hasura-event-triggered/{{name}}.js +0 -40
  55. package/src/functions-templates/javascript/node-fetch/.netlify-function-template.mjs +0 -5
  56. package/src/functions-templates/javascript/node-fetch/package.json +0 -19
  57. package/src/functions-templates/javascript/node-fetch/{{name}}.js +0 -29
  58. package/src/functions-templates/javascript/oauth-passport/.netlify-function-template.mjs +0 -5
  59. package/src/functions-templates/javascript/oauth-passport/package.json +0 -25
  60. package/src/functions-templates/javascript/oauth-passport/utils/auth.js +0 -65
  61. package/src/functions-templates/javascript/oauth-passport/utils/config.js +0 -24
  62. package/src/functions-templates/javascript/oauth-passport/{{name}}.js +0 -37
  63. package/src/functions-templates/javascript/protected-function/.netlify-function-template.mjs +0 -5
  64. package/src/functions-templates/javascript/protected-function/{{name}}.js +0 -25
  65. package/src/functions-templates/javascript/send-email/.netlify-function-template.mjs +0 -5
  66. package/src/functions-templates/javascript/send-email/package.json +0 -21
  67. package/src/functions-templates/javascript/send-email/validations.js +0 -38
  68. package/src/functions-templates/javascript/send-email/{{name}}.js +0 -68
  69. package/src/functions-templates/javascript/serverless-ssr/.netlify-function-template.mjs +0 -5
  70. package/src/functions-templates/javascript/serverless-ssr/app/index.js +0 -116
  71. package/src/functions-templates/javascript/serverless-ssr/package.json +0 -24
  72. package/src/functions-templates/javascript/serverless-ssr/serverless-http.js +0 -15
  73. package/src/functions-templates/javascript/serverless-ssr/{{name}}.js +0 -15
  74. package/src/functions-templates/javascript/set-cookie/.netlify-function-template.mjs +0 -5
  75. package/src/functions-templates/javascript/set-cookie/package.json +0 -19
  76. package/src/functions-templates/javascript/set-cookie/{{name}}.js +0 -44
  77. package/src/functions-templates/javascript/slack-rate-limit/.netlify-function-template.mjs +0 -5
  78. package/src/functions-templates/javascript/slack-rate-limit/package.json +0 -20
  79. package/src/functions-templates/javascript/slack-rate-limit/{{name}}.js +0 -115
  80. package/src/functions-templates/javascript/stripe-charge/.netlify-function-template.mjs +0 -28
  81. package/src/functions-templates/javascript/stripe-charge/package-lock.json +0 -196
  82. package/src/functions-templates/javascript/stripe-charge/package.json +0 -21
  83. package/src/functions-templates/javascript/stripe-charge/{{name}}.js +0 -56
  84. package/src/functions-templates/javascript/stripe-subscription/.netlify-function-template.mjs +0 -28
  85. package/src/functions-templates/javascript/stripe-subscription/package-lock.json +0 -196
  86. package/src/functions-templates/javascript/stripe-subscription/package.json +0 -21
  87. package/src/functions-templates/javascript/stripe-subscription/{{name}}.js +0 -52
  88. package/src/functions-templates/javascript/token-hider/.netlify-function-template.mjs +0 -29
  89. package/src/functions-templates/javascript/token-hider/package-lock.json +0 -317
  90. package/src/functions-templates/javascript/token-hider/package.json +0 -21
  91. package/src/functions-templates/javascript/token-hider/{{name}}.js +0 -37
  92. package/src/functions-templates/javascript/url-shortener/.netlify-function-template.mjs +0 -29
  93. package/src/functions-templates/javascript/url-shortener/generate-route.js +0 -53
  94. package/src/functions-templates/javascript/url-shortener/get-route.js +0 -32
  95. package/src/functions-templates/javascript/url-shortener/package-lock.json +0 -126
  96. package/src/functions-templates/javascript/url-shortener/package.json +0 -22
  97. package/src/functions-templates/javascript/url-shortener/{{name}}.js +0 -30
  98. package/src/functions-templates/javascript/using-middleware/.netlify-function-template.mjs +0 -5
  99. package/src/functions-templates/javascript/using-middleware/package.json +0 -19
  100. package/src/functions-templates/javascript/using-middleware/{{name}}.js +0 -60
@@ -1,196 +0,0 @@
1
- {
2
- "name": "stripe-subscription",
3
- "version": "1.0.0",
4
- "lockfileVersion": 2,
5
- "requires": true,
6
- "packages": {
7
- "": {
8
- "name": "stripe-subscription",
9
- "version": "1.0.0",
10
- "license": "MIT",
11
- "dependencies": {
12
- "stripe": "^10.0.0"
13
- }
14
- },
15
- "node_modules/@types/node": {
16
- "version": "17.0.2",
17
- "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.2.tgz",
18
- "integrity": "sha512-JepeIUPFDARgIs0zD/SKPgFsJEAF0X5/qO80llx59gOxFTboS9Amv3S+QfB7lqBId5sFXJ99BN0J6zFRvL9dDA=="
19
- },
20
- "node_modules/call-bind": {
21
- "version": "1.0.2",
22
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
23
- "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
24
- "dependencies": {
25
- "function-bind": "^1.1.1",
26
- "get-intrinsic": "^1.0.2"
27
- },
28
- "funding": {
29
- "url": "https://github.com/sponsors/ljharb"
30
- }
31
- },
32
- "node_modules/function-bind": {
33
- "version": "1.1.1",
34
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
35
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
36
- },
37
- "node_modules/get-intrinsic": {
38
- "version": "1.1.1",
39
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
40
- "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
41
- "dependencies": {
42
- "function-bind": "^1.1.1",
43
- "has": "^1.0.3",
44
- "has-symbols": "^1.0.1"
45
- },
46
- "funding": {
47
- "url": "https://github.com/sponsors/ljharb"
48
- }
49
- },
50
- "node_modules/has": {
51
- "version": "1.0.3",
52
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
53
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
54
- "dependencies": {
55
- "function-bind": "^1.1.1"
56
- },
57
- "engines": {
58
- "node": ">= 0.4.0"
59
- }
60
- },
61
- "node_modules/has-symbols": {
62
- "version": "1.0.2",
63
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz",
64
- "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==",
65
- "engines": {
66
- "node": ">= 0.4"
67
- },
68
- "funding": {
69
- "url": "https://github.com/sponsors/ljharb"
70
- }
71
- },
72
- "node_modules/object-inspect": {
73
- "version": "1.12.0",
74
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz",
75
- "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==",
76
- "funding": {
77
- "url": "https://github.com/sponsors/ljharb"
78
- }
79
- },
80
- "node_modules/qs": {
81
- "version": "6.11.0",
82
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
83
- "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
84
- "dependencies": {
85
- "side-channel": "^1.0.4"
86
- },
87
- "engines": {
88
- "node": ">=0.6"
89
- },
90
- "funding": {
91
- "url": "https://github.com/sponsors/ljharb"
92
- }
93
- },
94
- "node_modules/side-channel": {
95
- "version": "1.0.4",
96
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
97
- "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
98
- "dependencies": {
99
- "call-bind": "^1.0.0",
100
- "get-intrinsic": "^1.0.2",
101
- "object-inspect": "^1.9.0"
102
- },
103
- "funding": {
104
- "url": "https://github.com/sponsors/ljharb"
105
- }
106
- },
107
- "node_modules/stripe": {
108
- "version": "10.17.0",
109
- "resolved": "https://registry.npmjs.org/stripe/-/stripe-10.17.0.tgz",
110
- "integrity": "sha512-JHV2KoL+nMQRXu3m9ervCZZvi4DDCJfzHUE6CmtJxR9TmizyYfrVuhGvnsZLLnheby9Qrnf4Hq6iOEcejGwnGQ==",
111
- "dependencies": {
112
- "@types/node": ">=8.1.0",
113
- "qs": "^6.11.0"
114
- },
115
- "engines": {
116
- "node": "^8.1 || >=10.*"
117
- }
118
- }
119
- },
120
- "dependencies": {
121
- "@types/node": {
122
- "version": "17.0.2",
123
- "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.2.tgz",
124
- "integrity": "sha512-JepeIUPFDARgIs0zD/SKPgFsJEAF0X5/qO80llx59gOxFTboS9Amv3S+QfB7lqBId5sFXJ99BN0J6zFRvL9dDA=="
125
- },
126
- "call-bind": {
127
- "version": "1.0.2",
128
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
129
- "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
130
- "requires": {
131
- "function-bind": "^1.1.1",
132
- "get-intrinsic": "^1.0.2"
133
- }
134
- },
135
- "function-bind": {
136
- "version": "1.1.1",
137
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
138
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
139
- },
140
- "get-intrinsic": {
141
- "version": "1.1.1",
142
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
143
- "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
144
- "requires": {
145
- "function-bind": "^1.1.1",
146
- "has": "^1.0.3",
147
- "has-symbols": "^1.0.1"
148
- }
149
- },
150
- "has": {
151
- "version": "1.0.3",
152
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
153
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
154
- "requires": {
155
- "function-bind": "^1.1.1"
156
- }
157
- },
158
- "has-symbols": {
159
- "version": "1.0.2",
160
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz",
161
- "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw=="
162
- },
163
- "object-inspect": {
164
- "version": "1.12.0",
165
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz",
166
- "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g=="
167
- },
168
- "qs": {
169
- "version": "6.11.0",
170
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
171
- "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
172
- "requires": {
173
- "side-channel": "^1.0.4"
174
- }
175
- },
176
- "side-channel": {
177
- "version": "1.0.4",
178
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
179
- "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
180
- "requires": {
181
- "call-bind": "^1.0.0",
182
- "get-intrinsic": "^1.0.2",
183
- "object-inspect": "^1.9.0"
184
- }
185
- },
186
- "stripe": {
187
- "version": "10.17.0",
188
- "resolved": "https://registry.npmjs.org/stripe/-/stripe-10.17.0.tgz",
189
- "integrity": "sha512-JHV2KoL+nMQRXu3m9ervCZZvi4DDCJfzHUE6CmtJxR9TmizyYfrVuhGvnsZLLnheby9Qrnf4Hq6iOEcejGwnGQ==",
190
- "requires": {
191
- "@types/node": ">=8.1.0",
192
- "qs": "^6.11.0"
193
- }
194
- }
195
- }
196
- }
@@ -1,21 +0,0 @@
1
- {
2
- "name": "stripe-subscription",
3
- "version": "1.0.0",
4
- "description": "netlify functions:create - Create a subscription with Stripe",
5
- "main": "stripe-subscription.js",
6
- "scripts": {
7
- "test": "echo \"Error: no test specified\" && exit 1"
8
- },
9
- "keywords": [
10
- "netlify",
11
- "serverless",
12
- "apis",
13
- "stripe",
14
- "js"
15
- ],
16
- "author": "Netlify",
17
- "license": "MIT",
18
- "dependencies": {
19
- "stripe": "^10.0.0"
20
- }
21
- }
@@ -1,52 +0,0 @@
1
- // with thanks https://github.com/LukeMwila/stripe-subscriptions-backend/blob/master/stripe-api/index.ts
2
- const process = require('process')
3
-
4
- const stripe = require('stripe')(process.env.STRIPE_SECRET_KEY)
5
-
6
- const respond = (fulfillmentText) => ({
7
- statusCode: 200,
8
- body: JSON.stringify(fulfillmentText),
9
- headers: {
10
- 'Access-Control-Allow-Credentials': true,
11
- 'Access-Control-Allow-Origin': '*',
12
- 'Content-Type': 'application/json',
13
- },
14
- })
15
-
16
- const handler = async function (event) {
17
- let incoming
18
- try {
19
- incoming = JSON.parse(event.body)
20
- } catch (error) {
21
- console.error(`error with parsing function parameters:`, error)
22
- return {
23
- statusCode: 400,
24
- body: JSON.stringify(error),
25
- }
26
- }
27
- try {
28
- const { email, productPlan, stripeToken } = incoming
29
- const data = await createCustomerAndSubscribeToPlan(stripeToken, email, productPlan)
30
- return respond(data)
31
- } catch (error) {
32
- return respond(error)
33
- }
34
- }
35
-
36
- const createCustomerAndSubscribeToPlan = async function (stripeToken, email, productPlan) {
37
- // create a customer
38
- const customer = await stripe.customers.create({
39
- email,
40
- source: stripeToken,
41
- })
42
- // retrieve created customer id to add customer to subscription plan
43
- const customerId = customer.id
44
- // create a subscription for the newly created customer
45
- const subscription = await stripe.subscriptions.create({
46
- customer: customerId,
47
- items: [{ plan: productPlan }],
48
- })
49
- return subscription
50
- }
51
-
52
- module.exports = { handler }
@@ -1,29 +0,0 @@
1
- import chalk from 'chalk'
2
-
3
- export default {
4
- name: 'token-hider',
5
- description: 'Token Hider: access APIs without exposing your API keys',
6
- functionType: 'serverless',
7
- async onComplete() {
8
- console.log(`${chalk.yellow('token-hider')} function created from template!`)
9
- if (!process.env.API_URL || !process.env.API_TOKEN) {
10
- console.log(
11
- `note this function requires ${chalk.yellow('API_URL')} and ${chalk.yellow(
12
- 'API_TOKEN',
13
- )} build environment variables set in your Netlify Site.`,
14
- )
15
-
16
- let siteData = { name: 'YOURSITENAMEHERE' }
17
- try {
18
- siteData = await this.netlify.api.getSite({
19
- siteId: this.netlify.site.id,
20
- })
21
- } catch (e) {
22
- // silent error, not important
23
- }
24
- console.log(
25
- `Set them at: https://app.netlify.com/sites/${siteData.name}/settings/deploys#environment-variables (must have CD setup)`,
26
- )
27
- }
28
- },
29
- }
@@ -1,317 +0,0 @@
1
- {
2
- "name": "token-hider",
3
- "version": "1.0.0",
4
- "lockfileVersion": 2,
5
- "requires": true,
6
- "packages": {
7
- "": {
8
- "name": "token-hider",
9
- "version": "1.0.0",
10
- "license": "MIT",
11
- "dependencies": {
12
- "axios": "^1.0.0",
13
- "qs": "^6.7.0"
14
- }
15
- },
16
- "node_modules/asynckit": {
17
- "version": "0.4.0",
18
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
19
- "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
20
- },
21
- "node_modules/axios": {
22
- "version": "1.3.6",
23
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.3.6.tgz",
24
- "integrity": "sha512-PEcdkk7JcdPiMDkvM4K6ZBRYq9keuVJsToxm2zQIM70Qqo2WHTdJZMXcG9X+RmRp2VPNUQC8W1RAGbgt6b1yMg==",
25
- "dependencies": {
26
- "follow-redirects": "^1.15.0",
27
- "form-data": "^4.0.0",
28
- "proxy-from-env": "^1.1.0"
29
- }
30
- },
31
- "node_modules/call-bind": {
32
- "version": "1.0.2",
33
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
34
- "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
35
- "dependencies": {
36
- "function-bind": "^1.1.1",
37
- "get-intrinsic": "^1.0.2"
38
- },
39
- "funding": {
40
- "url": "https://github.com/sponsors/ljharb"
41
- }
42
- },
43
- "node_modules/combined-stream": {
44
- "version": "1.0.8",
45
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
46
- "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
47
- "dependencies": {
48
- "delayed-stream": "~1.0.0"
49
- },
50
- "engines": {
51
- "node": ">= 0.8"
52
- }
53
- },
54
- "node_modules/delayed-stream": {
55
- "version": "1.0.0",
56
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
57
- "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
58
- "engines": {
59
- "node": ">=0.4.0"
60
- }
61
- },
62
- "node_modules/follow-redirects": {
63
- "version": "1.15.0",
64
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz",
65
- "integrity": "sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==",
66
- "funding": [
67
- {
68
- "type": "individual",
69
- "url": "https://github.com/sponsors/RubenVerborgh"
70
- }
71
- ],
72
- "engines": {
73
- "node": ">=4.0"
74
- },
75
- "peerDependenciesMeta": {
76
- "debug": {
77
- "optional": true
78
- }
79
- }
80
- },
81
- "node_modules/form-data": {
82
- "version": "4.0.0",
83
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
84
- "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
85
- "dependencies": {
86
- "asynckit": "^0.4.0",
87
- "combined-stream": "^1.0.8",
88
- "mime-types": "^2.1.12"
89
- },
90
- "engines": {
91
- "node": ">= 6"
92
- }
93
- },
94
- "node_modules/function-bind": {
95
- "version": "1.1.1",
96
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
97
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
98
- },
99
- "node_modules/get-intrinsic": {
100
- "version": "1.1.1",
101
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
102
- "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
103
- "dependencies": {
104
- "function-bind": "^1.1.1",
105
- "has": "^1.0.3",
106
- "has-symbols": "^1.0.1"
107
- },
108
- "funding": {
109
- "url": "https://github.com/sponsors/ljharb"
110
- }
111
- },
112
- "node_modules/has": {
113
- "version": "1.0.3",
114
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
115
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
116
- "dependencies": {
117
- "function-bind": "^1.1.1"
118
- },
119
- "engines": {
120
- "node": ">= 0.4.0"
121
- }
122
- },
123
- "node_modules/has-symbols": {
124
- "version": "1.0.2",
125
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz",
126
- "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==",
127
- "engines": {
128
- "node": ">= 0.4"
129
- },
130
- "funding": {
131
- "url": "https://github.com/sponsors/ljharb"
132
- }
133
- },
134
- "node_modules/mime-db": {
135
- "version": "1.52.0",
136
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
137
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
138
- "engines": {
139
- "node": ">= 0.6"
140
- }
141
- },
142
- "node_modules/mime-types": {
143
- "version": "2.1.35",
144
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
145
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
146
- "dependencies": {
147
- "mime-db": "1.52.0"
148
- },
149
- "engines": {
150
- "node": ">= 0.6"
151
- }
152
- },
153
- "node_modules/object-inspect": {
154
- "version": "1.12.0",
155
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz",
156
- "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==",
157
- "funding": {
158
- "url": "https://github.com/sponsors/ljharb"
159
- }
160
- },
161
- "node_modules/proxy-from-env": {
162
- "version": "1.1.0",
163
- "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
164
- "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
165
- },
166
- "node_modules/qs": {
167
- "version": "6.11.2",
168
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz",
169
- "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==",
170
- "dependencies": {
171
- "side-channel": "^1.0.4"
172
- },
173
- "engines": {
174
- "node": ">=0.6"
175
- },
176
- "funding": {
177
- "url": "https://github.com/sponsors/ljharb"
178
- }
179
- },
180
- "node_modules/side-channel": {
181
- "version": "1.0.4",
182
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
183
- "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
184
- "dependencies": {
185
- "call-bind": "^1.0.0",
186
- "get-intrinsic": "^1.0.2",
187
- "object-inspect": "^1.9.0"
188
- },
189
- "funding": {
190
- "url": "https://github.com/sponsors/ljharb"
191
- }
192
- }
193
- },
194
- "dependencies": {
195
- "asynckit": {
196
- "version": "0.4.0",
197
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
198
- "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
199
- },
200
- "axios": {
201
- "version": "1.3.6",
202
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.3.6.tgz",
203
- "integrity": "sha512-PEcdkk7JcdPiMDkvM4K6ZBRYq9keuVJsToxm2zQIM70Qqo2WHTdJZMXcG9X+RmRp2VPNUQC8W1RAGbgt6b1yMg==",
204
- "requires": {
205
- "follow-redirects": "^1.15.0",
206
- "form-data": "^4.0.0",
207
- "proxy-from-env": "^1.1.0"
208
- }
209
- },
210
- "call-bind": {
211
- "version": "1.0.2",
212
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
213
- "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
214
- "requires": {
215
- "function-bind": "^1.1.1",
216
- "get-intrinsic": "^1.0.2"
217
- }
218
- },
219
- "combined-stream": {
220
- "version": "1.0.8",
221
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
222
- "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
223
- "requires": {
224
- "delayed-stream": "~1.0.0"
225
- }
226
- },
227
- "delayed-stream": {
228
- "version": "1.0.0",
229
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
230
- "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
231
- },
232
- "follow-redirects": {
233
- "version": "1.15.0",
234
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz",
235
- "integrity": "sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ=="
236
- },
237
- "form-data": {
238
- "version": "4.0.0",
239
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
240
- "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
241
- "requires": {
242
- "asynckit": "^0.4.0",
243
- "combined-stream": "^1.0.8",
244
- "mime-types": "^2.1.12"
245
- }
246
- },
247
- "function-bind": {
248
- "version": "1.1.1",
249
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
250
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
251
- },
252
- "get-intrinsic": {
253
- "version": "1.1.1",
254
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
255
- "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
256
- "requires": {
257
- "function-bind": "^1.1.1",
258
- "has": "^1.0.3",
259
- "has-symbols": "^1.0.1"
260
- }
261
- },
262
- "has": {
263
- "version": "1.0.3",
264
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
265
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
266
- "requires": {
267
- "function-bind": "^1.1.1"
268
- }
269
- },
270
- "has-symbols": {
271
- "version": "1.0.2",
272
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz",
273
- "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw=="
274
- },
275
- "mime-db": {
276
- "version": "1.52.0",
277
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
278
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
279
- },
280
- "mime-types": {
281
- "version": "2.1.35",
282
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
283
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
284
- "requires": {
285
- "mime-db": "1.52.0"
286
- }
287
- },
288
- "object-inspect": {
289
- "version": "1.12.0",
290
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz",
291
- "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g=="
292
- },
293
- "proxy-from-env": {
294
- "version": "1.1.0",
295
- "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
296
- "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
297
- },
298
- "qs": {
299
- "version": "6.11.2",
300
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz",
301
- "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==",
302
- "requires": {
303
- "side-channel": "^1.0.4"
304
- }
305
- },
306
- "side-channel": {
307
- "version": "1.0.4",
308
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
309
- "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
310
- "requires": {
311
- "call-bind": "^1.0.0",
312
- "get-intrinsic": "^1.0.2",
313
- "object-inspect": "^1.9.0"
314
- }
315
- }
316
- }
317
- }
@@ -1,21 +0,0 @@
1
- {
2
- "name": "token-hider",
3
- "version": "1.0.0",
4
- "description": "netlify functions:create - how to hide API tokens from your users",
5
- "main": "token-hider.js",
6
- "scripts": {
7
- "test": "echo \"Error: no test specified\" && exit 1"
8
- },
9
- "keywords": [
10
- "netlify",
11
- "serverless",
12
- "apis",
13
- "js"
14
- ],
15
- "author": "Netlify",
16
- "license": "MIT",
17
- "dependencies": {
18
- "axios": "^1.0.0",
19
- "qs": "^6.7.0"
20
- }
21
- }
@@ -1,37 +0,0 @@
1
- const process = require('process')
2
-
3
- const axios = require('axios')
4
- const qs = require('qs')
5
-
6
- const handler = async function (event) {
7
- // apply our function to the queryStringParameters and assign it to a variable
8
- const API_PARAMS = qs.stringify(event.queryStringParameters)
9
- console.log('API_PARAMS', API_PARAMS)
10
- // Get env var values defined in our Netlify site UI
11
-
12
- // TODO: customize your URL and API keys set in the Netlify Dashboard
13
- // this is secret too, your frontend won't see this
14
- const { API_SECRET = 'shiba' } = process.env
15
- const URL = `https://dog.ceo/api/breed/${API_SECRET}/images`
16
-
17
- console.log('Constructed URL is ...', URL)
18
-
19
- try {
20
- const { data } = await axios.get(URL)
21
- // refer to axios docs for other methods if you need them
22
- // for example if you want to POST data:
23
- // axios.post('/user', { firstName: 'Fred' })
24
- return {
25
- statusCode: 200,
26
- body: JSON.stringify(data),
27
- }
28
- } catch (error) {
29
- const { data, headers, status, statusText } = error.response
30
- return {
31
- statusCode: error.response.status,
32
- body: JSON.stringify({ status, statusText, headers, data }),
33
- }
34
- }
35
- }
36
-
37
- module.exports = { handler }