diff options
-rw-r--r-- | README.md | 2 | ||||
-rw-r--r-- | app/Controllers/Http/RecipeController.js | 64 | ||||
-rw-r--r-- | app/Controllers/Http/UserController.js | 19 | ||||
-rw-r--r-- | config/bodyParser.js | 2 | ||||
-rw-r--r-- | package.json | 1 | ||||
-rw-r--r-- | public/css/vanilla.css | 138 | ||||
-rw-r--r-- | public/js/new.js | 23 | ||||
-rw-r--r-- | public/new.html | 131 | ||||
-rw-r--r-- | yarn.lock | 117 |
9 files changed, 441 insertions, 56 deletions
@@ -1,6 +1,8 @@ | |||
1 | # ferdi-server | 1 | # ferdi-server |
2 | Unofficial Franz server replacement for use with the Ferdi Client. | 2 | Unofficial Franz server replacement for use with the Ferdi Client. |
3 | 3 | ||
4 | ⚠️ Currently not to be used publicly/productively as there are no validations etc. yet. | ||
5 | |||
4 | ## Features | 6 | ## Features |
5 | - [x] User registration and login | 7 | - [x] User registration and login |
6 | - [x] Service creation, download and listing | 8 | - [x] Service creation, download and listing |
diff --git a/app/Controllers/Http/RecipeController.js b/app/Controllers/Http/RecipeController.js index 641f4ef..407379e 100644 --- a/app/Controllers/Http/RecipeController.js +++ b/app/Controllers/Http/RecipeController.js | |||
@@ -4,9 +4,27 @@ const Recipe = use('App/Models/Recipe'); | |||
4 | const Helpers = use('Helpers') | 4 | const Helpers = use('Helpers') |
5 | const Drive = use('Drive') | 5 | const Drive = use('Drive') |
6 | const fetch = require('node-fetch'); | 6 | const fetch = require('node-fetch'); |
7 | const targz = require('targz'); | ||
7 | const path = require('path'); | 8 | const path = require('path'); |
9 | const fs = require('fs'); | ||
10 | |||
11 | const compress = (src, dest) => { | ||
12 | return new Promise((resolve, reject) => { | ||
13 | targz.compress({ | ||
14 | src, | ||
15 | dest | ||
16 | }, function (err) { | ||
17 | if (err) { | ||
18 | reject(err); | ||
19 | } else { | ||
20 | resolve(dest); | ||
21 | } | ||
22 | }); | ||
23 | }) | ||
24 | } | ||
8 | 25 | ||
9 | class RecipeController { | 26 | class RecipeController { |
27 | // List official and custom recipes | ||
10 | async list({ | 28 | async list({ |
11 | response | 29 | response |
12 | }) { | 30 | }) { |
@@ -26,19 +44,29 @@ class RecipeController { | |||
26 | return response.send(recipes) | 44 | return response.send(recipes) |
27 | } | 45 | } |
28 | 46 | ||
47 | // Create a new recipe using the new.html page | ||
29 | async create({ | 48 | async create({ |
30 | request, | 49 | request, |
31 | response | 50 | response |
32 | }) { | 51 | }) { |
33 | const data = request.all(); | 52 | const data = request.all(); |
34 | 53 | ||
35 | const pkg = request.file('package') | 54 | // Check for invalid characters |
55 | if (/\.{1,}/.test(data.id) || /\/{1,}/.test(data.id)) { | ||
56 | return response.send('Invalid recipe name. Your recipe name may not contain "." or "/"'); | ||
57 | } | ||
36 | 58 | ||
37 | await pkg.move(path.join(Helpers.appRoot(), '/recipes/'), { | 59 | // Move uploaded files to temporary path |
38 | name: data.id + '.tar.gz', | 60 | const files = request.file('files') |
39 | overwrite: false | 61 | await files.moveAll(Helpers.tmpPath('recipe')) |
40 | }) | ||
41 | 62 | ||
63 | // Compress files to .tar.gz file | ||
64 | compress( | ||
65 | Helpers.tmpPath('recipe'), | ||
66 | path.join(Helpers.appRoot(), '/recipes/' + data.id + '.tar.gz') | ||
67 | ); | ||
68 | |||
69 | // Create recipe in db | ||
42 | await Recipe.create({ | 70 | await Recipe.create({ |
43 | name: data.name, | 71 | name: data.name, |
44 | recipeId: data.id, | 72 | recipeId: data.id, |
@@ -56,23 +84,25 @@ class RecipeController { | |||
56 | return response.send('Created new recipe') | 84 | return response.send('Created new recipe') |
57 | } | 85 | } |
58 | 86 | ||
87 | // Search official and custom recipes | ||
59 | async search({ | 88 | async search({ |
60 | request, | 89 | request, |
61 | response | 90 | response |
62 | }) { | 91 | }) { |
63 | const needle = request.input('needle') | 92 | const needle = request.input('needle') |
64 | 93 | ||
94 | // Get results | ||
65 | const remoteResults = JSON.parse(await (await fetch('https://api.franzinfra.com/v1/recipes/search?needle=' + needle)).text()); | 95 | const remoteResults = JSON.parse(await (await fetch('https://api.franzinfra.com/v1/recipes/search?needle=' + needle)).text()); |
66 | const localResultsArray = (await Recipe.query().where('name', 'LIKE', '%' + needle + '%').fetch()).toJSON(); | 96 | const localResultsArray = (await Recipe.query().where('name', 'LIKE', '%' + needle + '%').fetch()).toJSON(); |
67 | const localResults = localResultsArray.map(recipe => ({ | 97 | const localResults = localResultsArray.map(recipe => ({ |
68 | "id": recipe.recipeId, | 98 | "id": recipe.recipeId, |
69 | "name": recipe.name, | 99 | "name": recipe.name, |
70 | ...JSON.parse(recipe.data) | 100 | ...JSON.parse(recipe.data) |
71 | })) | 101 | })) |
72 | 102 | ||
73 | const results = [ | 103 | const results = [ |
74 | ...localResults, | 104 | ...localResults, |
75 | ...remoteResults, | 105 | ...remoteResults, |
76 | ] | 106 | ] |
77 | 107 | ||
78 | return response.send(results); | 108 | return response.send(results); |
@@ -86,16 +116,16 @@ class RecipeController { | |||
86 | }) { | 116 | }) { |
87 | const service = params.recipe; | 117 | const service = params.recipe; |
88 | 118 | ||
89 | // Chack for invalid characters | 119 | // Check for invalid characters |
90 | if (/\.{1,}/.test(service) || /\/{1,}/.test(service)) { | 120 | if (/\.{1,}/.test(service) || /\/{1,}/.test(service)) { |
91 | return response.send('Invalid recipe name'); | 121 | return response.send('Invalid recipe name'); |
92 | } | 122 | } |
93 | 123 | ||
94 | // Check if recipe exists in recipes folder | 124 | // Check if recipe exists in recipes folder |
95 | if (await Drive.exists(service + '.tar.gz')) { | 125 | if (await Drive.exists(service + '.tar.gz')) { |
96 | response.send(await Drive.get(service + '.tar.gz')) | 126 | response.send(await Drive.get(service + '.tar.gz')) |
97 | } else { | 127 | } else { |
98 | response.redirect('https://api.franzinfra.com/v1/recipes/download/' + service) | 128 | response.redirect('https://api.franzinfra.com/v1/recipes/download/' + service) |
99 | } | 129 | } |
100 | } | 130 | } |
101 | } | 131 | } |
diff --git a/app/Controllers/Http/UserController.js b/app/Controllers/Http/UserController.js index 062e16f..f78f28d 100644 --- a/app/Controllers/Http/UserController.js +++ b/app/Controllers/Http/UserController.js | |||
@@ -13,11 +13,20 @@ class UserController { | |||
13 | session | 13 | session |
14 | }) { | 14 | }) { |
15 | const data = request.only(['firstname', 'email', 'password']); | 15 | const data = request.only(['firstname', 'email', 'password']); |
16 | const user = await User.create({ | 16 | |
17 | email: data.email, | 17 | try { |
18 | password: data.password, | 18 | const user = await User.create({ |
19 | username: data.firstname | 19 | email: data.email, |
20 | }); | 20 | password: data.password, |
21 | username: data.firstname | ||
22 | }); | ||
23 | } catch(e) { | ||
24 | return response.status(401).send({ | ||
25 | "message": "E-Mail Address already in use", | ||
26 | "status": 401 | ||
27 | }) | ||
28 | } | ||
29 | |||
21 | const token = await auth.generate(user) | 30 | const token = await auth.generate(user) |
22 | 31 | ||
23 | return response.send({ | 32 | return response.send({ |
diff --git a/config/bodyParser.js b/config/bodyParser.js index c481b01..f04d291 100644 --- a/config/bodyParser.js +++ b/config/bodyParser.js | |||
@@ -20,7 +20,7 @@ module.exports = { | |||
20 | | is over 1mb it will not be processed. | 20 | | is over 1mb it will not be processed. |
21 | | | 21 | | |
22 | */ | 22 | */ |
23 | limit: '1mb', | 23 | limit: '50mb', |
24 | 24 | ||
25 | /* | 25 | /* |
26 | |-------------------------------------------------------------------------- | 26 | |-------------------------------------------------------------------------- |
diff --git a/package.json b/package.json index f3940d5..327fb8e 100644 --- a/package.json +++ b/package.json | |||
@@ -29,6 +29,7 @@ | |||
29 | "node-fetch": "^2.6.0", | 29 | "node-fetch": "^2.6.0", |
30 | "pg": "^7.12.1", | 30 | "pg": "^7.12.1", |
31 | "sqlite3": "^4.1.0", | 31 | "sqlite3": "^4.1.0", |
32 | "targz": "^1.0.1", | ||
32 | "uuid": "^3.3.3" | 33 | "uuid": "^3.3.3" |
33 | }, | 34 | }, |
34 | "devDependencies": {}, | 35 | "devDependencies": {}, |
diff --git a/public/css/vanilla.css b/public/css/vanilla.css new file mode 100644 index 0000000..37bc051 --- /dev/null +++ b/public/css/vanilla.css | |||
@@ -0,0 +1,138 @@ | |||
1 | /* Reset */ | ||
2 | html, body, div, span, applet, object, iframe, | ||
3 | h1, h2, h3, h4, h5, h6, p, blockquote, pre, | ||
4 | a, abbr, acronym, address, big, cite, code, | ||
5 | del, dfn, em, img, ins, kbd, q, s, samp, | ||
6 | small, strike, strong, sub, sup, tt, var, | ||
7 | b, u, i, center, | ||
8 | dl, dt, dd, ol, ul, li, | ||
9 | fieldset, form, label, legend, | ||
10 | table, caption, tbody, tfoot, thead, tr, th, td, | ||
11 | article, aside, canvas, details, embed, | ||
12 | figure, figcaption, footer, header, hgroup, | ||
13 | menu, nav, output, ruby, section, summary, | ||
14 | time, mark, audio, video { | ||
15 | margin: 0; | ||
16 | padding: 0; | ||
17 | border: 0; | ||
18 | font-size: 100%; | ||
19 | font: inherit; | ||
20 | vertical-align: baseline; | ||
21 | } | ||
22 | * { | ||
23 | box-sizing: border-box; | ||
24 | } | ||
25 | |||
26 | |||
27 | |||
28 | /* Variables */ | ||
29 | :root { | ||
30 | --desktop-font-size: 1.3rem/1.5; | ||
31 | --mobile-font-size: 1.1rem/1.4; | ||
32 | --text-color: #2d2d2d; | ||
33 | --link-color: blue; | ||
34 | --primary-color: lightsteelblue; | ||
35 | --secondary-color: aliceblue; | ||
36 | --tertiary-color: whitesmoke; | ||
37 | } | ||
38 | |||
39 | |||
40 | |||
41 | |||
42 | /* Typography */ | ||
43 | body { | ||
44 | color: var(--text-color); | ||
45 | padding: 3rem; | ||
46 | font: var(--desktop-font-size) -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto, Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji", "Segoe UI Symbol"; | ||
47 | } | ||
48 | |||
49 | h1,h2,h3,h4,h5,h6,p,blockquote,dl,img,figure { | ||
50 | margin: 2rem 0; | ||
51 | } | ||
52 | |||
53 | h1,h2,h3,h4,h5,h6 { font-weight: bold; } | ||
54 | h1 { font-size: 200%; } | ||
55 | h2 { font-size: 150%; } | ||
56 | h3 { font-size: 120%; } | ||
57 | h4,h5,h6 { font-size: 100%; } | ||
58 | h5, h6 { text-transform: uppercase; } | ||
59 | |||
60 | header h1 { border-bottom: 1px solid; } | ||
61 | |||
62 | p { margin: 2rem 0; } | ||
63 | |||
64 | a,a:visited { color: var(--link-color); } | ||
65 | |||
66 | strong, time, b { font-weight: bold; } | ||
67 | em, dfn, i { font-style: italic; } | ||
68 | sub { font-size: 60%; vertical-align: bottom; } | ||
69 | small { font-size: 80%; } | ||
70 | |||
71 | blockquote, q { | ||
72 | background: var(--secondary-color); | ||
73 | border-left: 10px solid var(--primary-color); | ||
74 | font-family: "Georgia", serif; | ||
75 | padding: 1rem; | ||
76 | } | ||
77 | blockquote p:first-child { margin-top: 0; } | ||
78 | cite { | ||
79 | font-family: "Georgia", serif; | ||
80 | font-style: italic; | ||
81 | font-weight: bold; | ||
82 | } | ||
83 | |||
84 | kbd,code,samp,pre,var { font-family: monospace; font-weight: bold; } | ||
85 | code, pre { | ||
86 | background: var(--tertiary-color); | ||
87 | padding: 0.5rem 1rem; | ||
88 | } | ||
89 | code pre , pre code { padding: 0; } | ||
90 | |||
91 | |||
92 | |||
93 | /* Elements */ | ||
94 | hr { | ||
95 | background: var(--text-color); | ||
96 | border: 0; | ||
97 | height: 1px; | ||
98 | margin: 4rem 0; | ||
99 | } | ||
100 | |||
101 | img { max-width: 100%; } | ||
102 | |||
103 | figure { | ||
104 | border: 1px solid var(--primary-color); | ||
105 | display: inline-block; | ||
106 | padding: 1rem; | ||
107 | width: auto; | ||
108 | } | ||
109 | figure img { margin: 0; } | ||
110 | figure figcaption { font-size: 80%; } | ||
111 | |||
112 | ul, ol { margin: 2rem 0; padding: 0 0 0 4rem; } | ||
113 | |||
114 | dl dd { padding-left: 2rem; } | ||
115 | |||
116 | table { | ||
117 | border: 1px solid var(--primary-color); | ||
118 | border-collapse: collapse; | ||
119 | table-layout: fixed; | ||
120 | width: 100%; | ||
121 | } | ||
122 | table caption { margin: 2rem 0; } | ||
123 | table thead { text-align: center; } | ||
124 | table tbody { text-align: right; } | ||
125 | table tr { border-bottom: 1px solid var(--primary-color); } | ||
126 | table tbody tr:nth-child(even) { background: var(--tertiary-color); } | ||
127 | table th { background: var(--secondary-color); font-weight: bold; } | ||
128 | table th, table td { padding: 1rem; } | ||
129 | table th:not(last-of-type), table td:not(last-of-type) { border-right: 1px solid var(--primary-color); } | ||
130 | |||
131 | |||
132 | |||
133 | /* Mobile Styling */ | ||
134 | @media screen and (max-width: 50rem) { | ||
135 | body { | ||
136 | font: var(--mobile-font-size) -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto, Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji", "Segoe UI Symbol" | ||
137 | } | ||
138 | } \ No newline at end of file | ||
diff --git a/public/js/new.js b/public/js/new.js new file mode 100644 index 0000000..4f54245 --- /dev/null +++ b/public/js/new.js | |||
@@ -0,0 +1,23 @@ | |||
1 | const elDrop = document.getElementById('dropzone'); | ||
2 | const submitBtn = document.getElementById('submitbutton'); | ||
3 | const fileInput = document.getElementById('files'); | ||
4 | |||
5 | elDrop.addEventListener('dragover', function (event) { | ||
6 | event.preventDefault(); | ||
7 | }); | ||
8 | |||
9 | elDrop.addEventListener('drop', async function (event) { | ||
10 | event.preventDefault(); | ||
11 | |||
12 | submitBtn.disabled = true; | ||
13 | |||
14 | fileInput.files = event.dataTransfer.files; | ||
15 | |||
16 | elDrop.innerText = `✓ ${fileInput.files.length} files selected`; | ||
17 | elDrop.style.height = 'inherit'; | ||
18 | |||
19 | submitBtn.disabled = false; | ||
20 | }); | ||
21 | elDrop.addEventListener('click', () => { | ||
22 | fileInput.click(); | ||
23 | }) \ No newline at end of file | ||
diff --git a/public/new.html b/public/new.html index 69deafd..b0e4b41 100644 --- a/public/new.html +++ b/public/new.html | |||
@@ -1,40 +1,115 @@ | |||
1 | <!DOCTYPE html> | 1 | <!DOCTYPE html> |
2 | <html lang="en"> | 2 | <html lang="en"> |
3 | |||
3 | <head> | 4 | <head> |
4 | <meta charset="UTF-8"> | 5 | <meta charset="UTF-8"> |
5 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> | 6 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
6 | <meta http-equiv="X-UA-Compatible" content="ie=edge"> | 7 | <meta http-equiv="X-UA-Compatible" content="ie=edge"> |
7 | <title>Create a new service</title> | 8 | <title>Create a new service</title> |
8 | 9 | ||
9 | <style> | 10 | <link rel="stylesheet" href="css/vanilla.css"> |
10 | input { | 11 | |
11 | margin-bottom: 1rem; | 12 | <style> |
12 | } | 13 | input { |
13 | </style> | 14 | margin-bottom: 1rem; |
15 | width: 100%; | ||
16 | padding: 0.5rem; | ||
17 | } | ||
18 | |||
19 | button { | ||
20 | display: flex; | ||
21 | overflow: hidden; | ||
22 | padding: 12px 12px; | ||
23 | cursor: pointer; | ||
24 | width: 100%; | ||
25 | -webkit-user-select: none; | ||
26 | -moz-user-select: none; | ||
27 | -ms-user-select: none; | ||
28 | user-select: none; | ||
29 | transition: all 150ms linear; | ||
30 | text-align: center; | ||
31 | white-space: nowrap; | ||
32 | text-decoration: none !important; | ||
33 | text-transform: none; | ||
34 | text-transform: capitalize; | ||
35 | color: #fff; | ||
36 | border: 0 none; | ||
37 | border-radius: 4px; | ||
38 | font-size: 13px; | ||
39 | font-weight: 500; | ||
40 | line-height: 1.3; | ||
41 | -webkit-appearance: none; | ||
42 | -moz-appearance: none; | ||
43 | appearance: none; | ||
44 | justify-content: center; | ||
45 | align-items: center; | ||
46 | flex: 0 0 160px; | ||
47 | box-shadow: 2px 5px 10px #e4e4e4; | ||
48 | color: #FFFFFF; | ||
49 | background: #161616; | ||
50 | } | ||
51 | |||
52 | #dropzone { | ||
53 | width: 100%; | ||
54 | height: 30vh; | ||
55 | background-color: #ebebeb; | ||
56 | |||
57 | display: flex; | ||
58 | align-items: center; | ||
59 | justify-content: center; | ||
60 | text-align: center; | ||
61 | |||
62 | cursor: pointer; | ||
63 | } | ||
64 | |||
65 | #dropzone p { | ||
66 | font-size: 0.85rem; | ||
67 | } | ||
68 | |||
69 | #files { | ||
70 | display: none; | ||
71 | } | ||
72 | |||
73 | </style> | ||
14 | </head> | 74 | </head> |
75 | |||
15 | <body> | 76 | <body> |
16 | <h1>Create a new service</h1> | 77 | <h1>Create a new recipe</h1> |
17 | <form action="new" method="post" enctype="multipart/form-data"> | 78 | <p>Please create a recipe using <a href="https://github.com/meetfranz/plugins/blob/master/docs/integration.md">the |
18 | <label for="author">Author</label><br /> | 79 | official Franz guide</a>, then publish it here.</p> |
19 | <input type="text" name="author" placeholder="Jon Doe" required><br /> | 80 | <form action="new" method="post" enctype="multipart/form-data"> |
81 | <label for="author">Author</label><br /> | ||
82 | <input type="text" name="author" placeholder="Jon Doe" required><br /> | ||
83 | |||
84 | <label for="name">Name</label><br /> | ||
85 | <input type="text" name="name" placeholder="Sample Service" required><br /> | ||
20 | 86 | ||
21 | <label for="name">Name</label><br /> | 87 | <label for="id">Service ID</label><br /> |
22 | <input type="text" name="name" placeholder="Sample Service" required><br /> | 88 | <input type="text" name="id" placeholder="sample-service" required><br /> |
23 | 89 | ||
24 | <label for="id">Service ID</label><br /> | 90 | <label for="png">Link to PNG image*</label><br /> |
25 | <input type="text" name="id" placeholder="sample-service" required><br /> | 91 | <input type="text" name="png" placeholder="https://.../logo.png" required><br /> |
26 | 92 | ||
27 | <label for="png">Link to PNG image</label><br /> | 93 | <label for="svg">Link to SVG image*</label><br /> |
28 | <input type="text" name="png" placeholder="https://.../logo.png" required><br /> | 94 | <input type="text" name="svg" placeholder="https://.../logo.svg" required><br /> |
95 | *These images must be publicly availible and have CORS enabled in order to work.<br /><br /> | ||
29 | 96 | ||
30 | <label for="svg">Link to SVG image</label><br /> | 97 | <label for="package">Recipe files</label><br /> |
31 | <input type="text" name="svg" placeholder="https://.../logo.svg" required><br /> | 98 | <div id="dropzone" effectAllowed="move"> |
99 | <div> | ||
100 | Drop recipe files here<br />or click here to select files | ||
101 | <p> | ||
102 | Drag and drop your recipe files into this area.<br /> | ||
103 | Please do not select the folder that contains the files but rather the files itself. | ||
104 | </p> | ||
105 | </div> | ||
106 | </div> | ||
107 | <input type="file" name="files[]" id="files" value="" multiple><br /><br /> | ||
32 | 108 | ||
33 | <label for="package">Package</label><br /> | 109 | <button type="submit" id="submitbutton">Create recipe</button> |
34 | *Please package your service into a .tar.gz file<br /> | 110 | </form> |
35 | <input type="file" name="package" id="package"><br /> | ||
36 | 111 | ||
37 | <button type="submit">Create</button> | 112 | <script src="js/new.js"></script> |
38 | </form> | ||
39 | </body> | 113 | </body> |
40 | </html> \ No newline at end of file | 114 | |
115 | </html> | ||
@@ -58,6 +58,13 @@ | |||
58 | resolved "https://registry.yarnpkg.com/@adonisjs/cors/-/cors-1.0.7.tgz#9b7565ad0b80215c620e8864b4af8651220a527c" | 58 | resolved "https://registry.yarnpkg.com/@adonisjs/cors/-/cors-1.0.7.tgz#9b7565ad0b80215c620e8864b4af8651220a527c" |
59 | integrity sha512-jBO+bI/zdydAXURL02gQxXB57L5+eV2MUYp7zmDrVa12M6mQPMRz5TC2F7a0Kknx9JUr5dsl4+eN0XNfe/8sWQ== | 59 | integrity sha512-jBO+bI/zdydAXURL02gQxXB57L5+eV2MUYp7zmDrVa12M6mQPMRz5TC2F7a0Kknx9JUr5dsl4+eN0XNfe/8sWQ== |
60 | 60 | ||
61 | "@adonisjs/drive@^1.0.4": | ||
62 | version "1.0.4" | ||
63 | resolved "https://registry.yarnpkg.com/@adonisjs/drive/-/drive-1.0.4.tgz#0dd2a3a5be7bf60fe80bc03d066c48eca9251ade" | ||
64 | integrity sha512-p2Ot+ylOwtGV6gHIKIMJG0M+AxBatjnqv+UOrUW3Y8xsyN9bKg9khZTEqn7WrHUAlmeS4WUR5T68KIaxuXgRDw== | ||
65 | dependencies: | ||
66 | "@slynova/flydrive" "^0.3.1" | ||
67 | |||
61 | "@adonisjs/fold@^4.0.9": | 68 | "@adonisjs/fold@^4.0.9": |
62 | version "4.0.9" | 69 | version "4.0.9" |
63 | resolved "https://registry.yarnpkg.com/@adonisjs/fold/-/fold-4.0.9.tgz#1a9860af2dbe29e4111d7f0cc234be15c2e28be8" | 70 | resolved "https://registry.yarnpkg.com/@adonisjs/fold/-/fold-4.0.9.tgz#1a9860af2dbe29e4111d7f0cc234be15c2e28be8" |
@@ -143,6 +150,16 @@ | |||
143 | haye "^2.0.1" | 150 | haye "^2.0.1" |
144 | lodash "^4.17.5" | 151 | lodash "^4.17.5" |
145 | 152 | ||
153 | "@slynova/flydrive@^0.3.1": | ||
154 | version "0.3.1" | ||
155 | resolved "https://registry.yarnpkg.com/@slynova/flydrive/-/flydrive-0.3.1.tgz#7d89c43a90ef8599b29d5f7aadd9e82b6904e8ce" | ||
156 | integrity sha512-/C3chxZRqonxjQwj70WOyqtw0JGjBr6rjvkcrGlDedUXi5YoiJiTVHwD4ry6tHJKwOi3PtxpWO9RZwSKElVWzw== | ||
157 | dependencies: | ||
158 | create-output-stream "0.0.1" | ||
159 | fs-extra "^6.0.0" | ||
160 | node-exceptions "^3.0.0" | ||
161 | resetable "^1.0.2" | ||
162 | |||
146 | abbrev@1: | 163 | abbrev@1: |
147 | version "1.1.1" | 164 | version "1.1.1" |
148 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" | 165 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" |
@@ -573,6 +590,14 @@ bcryptjs@^2.4.3: | |||
573 | resolved "https://registry.yarnpkg.com/bcryptjs/-/bcryptjs-2.4.3.tgz#9ab5627b93e60621ff7cdac5da9733027df1d0cb" | 590 | resolved "https://registry.yarnpkg.com/bcryptjs/-/bcryptjs-2.4.3.tgz#9ab5627b93e60621ff7cdac5da9733027df1d0cb" |
574 | integrity sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms= | 591 | integrity sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms= |
575 | 592 | ||
593 | bl@^1.0.0: | ||
594 | version "1.2.2" | ||
595 | resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.2.tgz#a160911717103c07410cef63ef51b397c025af9c" | ||
596 | integrity sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA== | ||
597 | dependencies: | ||
598 | readable-stream "^2.3.5" | ||
599 | safe-buffer "^5.1.1" | ||
600 | |||
576 | bluebird@^3.5.1: | 601 | bluebird@^3.5.1: |
577 | version "3.5.5" | 602 | version "3.5.5" |
578 | resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f" | 603 | resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f" |
@@ -602,11 +627,29 @@ braces@^2.3.1: | |||
602 | split-string "^3.0.2" | 627 | split-string "^3.0.2" |
603 | to-regex "^3.0.1" | 628 | to-regex "^3.0.1" |
604 | 629 | ||
630 | buffer-alloc-unsafe@^1.1.0: | ||
631 | version "1.1.0" | ||
632 | resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" | ||
633 | integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== | ||
634 | |||
635 | buffer-alloc@^1.2.0: | ||
636 | version "1.2.0" | ||
637 | resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" | ||
638 | integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== | ||
639 | dependencies: | ||
640 | buffer-alloc-unsafe "^1.1.0" | ||
641 | buffer-fill "^1.0.0" | ||
642 | |||
605 | buffer-equal-constant-time@1.0.1: | 643 | buffer-equal-constant-time@1.0.1: |
606 | version "1.0.1" | 644 | version "1.0.1" |
607 | resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" | 645 | resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" |
608 | integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk= | 646 | integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk= |
609 | 647 | ||
648 | buffer-fill@^1.0.0: | ||
649 | version "1.0.0" | ||
650 | resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" | ||
651 | integrity sha1-+PeLdniYiO858gXNY39o5wISKyw= | ||
652 | |||
610 | buffer-writer@2.0.0: | 653 | buffer-writer@2.0.0: |
611 | version "2.0.0" | 654 | version "2.0.0" |
612 | resolved "https://registry.yarnpkg.com/buffer-writer/-/buffer-writer-2.0.0.tgz#ce7eb81a38f7829db09c873f2fbb792c0c98ec04" | 655 | resolved "https://registry.yarnpkg.com/buffer-writer/-/buffer-writer-2.0.0.tgz#ce7eb81a38f7829db09c873f2fbb792c0c98ec04" |
@@ -686,7 +729,7 @@ choices-separator@^2.0.0: | |||
686 | debug "^2.6.6" | 729 | debug "^2.6.6" |
687 | strip-color "^0.1.0" | 730 | strip-color "^0.1.0" |
688 | 731 | ||
689 | chownr@^1.1.1: | 732 | chownr@^1.0.1, chownr@^1.1.1: |
690 | version "1.1.2" | 733 | version "1.1.2" |
691 | resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.2.tgz#a18f1e0b269c8a6a5d3c86eb298beb14c3dd7bf6" | 734 | resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.2.tgz#a18f1e0b269c8a6a5d3c86eb298beb14c3dd7bf6" |
692 | integrity sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A== | 735 | integrity sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A== |
@@ -887,6 +930,13 @@ core-util-is@1.0.2, core-util-is@~1.0.0: | |||
887 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" | 930 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" |
888 | integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= | 931 | integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= |
889 | 932 | ||
933 | create-output-stream@0.0.1: | ||
934 | version "0.0.1" | ||
935 | resolved "https://registry.yarnpkg.com/create-output-stream/-/create-output-stream-0.0.1.tgz#e0ac31e27defeae0e4f699c0edb9c6558c9fa5ab" | ||
936 | integrity sha1-4Kwx4n3v6uDk9pnA7bnGVYyfpas= | ||
937 | dependencies: | ||
938 | mkdirp "^0.5.1" | ||
939 | |||
890 | cross-env@^5.1.0: | 940 | cross-env@^5.1.0: |
891 | version "5.2.0" | 941 | version "5.2.0" |
892 | resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-5.2.0.tgz#6ecd4c015d5773e614039ee529076669b9d126f2" | 942 | resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-5.2.0.tgz#6ecd4c015d5773e614039ee529076669b9d126f2" |
@@ -1064,7 +1114,7 @@ encodeurl@^1.0.2, encodeurl@~1.0.2: | |||
1064 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" | 1114 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" |
1065 | integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= | 1115 | integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= |
1066 | 1116 | ||
1067 | end-of-stream@^1.1.0, end-of-stream@^1.4.1: | 1117 | end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: |
1068 | version "1.4.1" | 1118 | version "1.4.1" |
1069 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" | 1119 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" |
1070 | integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== | 1120 | integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== |
@@ -1304,6 +1354,20 @@ fresh@0.5.2, fresh@^0.5.2: | |||
1304 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" | 1354 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" |
1305 | integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= | 1355 | integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= |
1306 | 1356 | ||
1357 | fs-constants@^1.0.0: | ||
1358 | version "1.0.0" | ||
1359 | resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" | ||
1360 | integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== | ||
1361 | |||
1362 | fs-extra@^6.0.0: | ||
1363 | version "6.0.1" | ||
1364 | resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-6.0.1.tgz#8abc128f7946e310135ddc93b98bddb410e7a34b" | ||
1365 | integrity sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA== | ||
1366 | dependencies: | ||
1367 | graceful-fs "^4.1.2" | ||
1368 | jsonfile "^4.0.0" | ||
1369 | universalify "^0.1.0" | ||
1370 | |||
1307 | fs-extra@^7.0.0: | 1371 | fs-extra@^7.0.0: |
1308 | version "7.0.1" | 1372 | version "7.0.1" |
1309 | resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" | 1373 | resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" |
@@ -2752,6 +2816,14 @@ psl@^1.1.24: | |||
2752 | resolved "https://registry.yarnpkg.com/psl/-/psl-1.3.0.tgz#e1ebf6a3b5564fa8376f3da2275da76d875ca1bd" | 2816 | resolved "https://registry.yarnpkg.com/psl/-/psl-1.3.0.tgz#e1ebf6a3b5564fa8376f3da2275da76d875ca1bd" |
2753 | integrity sha512-avHdspHO+9rQTLbv1RO+MPYeP/SzsCoxofjVnHanETfQhTJrmB0HlDoW+EiN/R+C0BZ+gERab9NY0lPN2TxNag== | 2817 | integrity sha512-avHdspHO+9rQTLbv1RO+MPYeP/SzsCoxofjVnHanETfQhTJrmB0HlDoW+EiN/R+C0BZ+gERab9NY0lPN2TxNag== |
2754 | 2818 | ||
2819 | pump@^1.0.0: | ||
2820 | version "1.0.3" | ||
2821 | resolved "https://registry.yarnpkg.com/pump/-/pump-1.0.3.tgz#5dfe8311c33bbf6fc18261f9f34702c47c08a954" | ||
2822 | integrity sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw== | ||
2823 | dependencies: | ||
2824 | end-of-stream "^1.1.0" | ||
2825 | once "^1.3.1" | ||
2826 | |||
2755 | pump@^3.0.0: | 2827 | pump@^3.0.0: |
2756 | version "3.0.0" | 2828 | version "3.0.0" |
2757 | resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" | 2829 | resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" |
@@ -2819,7 +2891,7 @@ rc@^1.2.7: | |||
2819 | minimist "^1.2.0" | 2891 | minimist "^1.2.0" |
2820 | strip-json-comments "~2.0.1" | 2892 | strip-json-comments "~2.0.1" |
2821 | 2893 | ||
2822 | readable-stream@^2.0.6, readable-stream@^2.3.6: | 2894 | readable-stream@^2.0.6, readable-stream@^2.3.0, readable-stream@^2.3.5, readable-stream@^2.3.6: |
2823 | version "2.3.6" | 2895 | version "2.3.6" |
2824 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" | 2896 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" |
2825 | integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== | 2897 | integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== |
@@ -2942,7 +3014,7 @@ require-uncached@^1.0.3: | |||
2942 | caller-path "^0.1.0" | 3014 | caller-path "^0.1.0" |
2943 | resolve-from "^1.0.0" | 3015 | resolve-from "^1.0.0" |
2944 | 3016 | ||
2945 | resetable@^1.0.3: | 3017 | resetable@^1.0.2, resetable@^1.0.3: |
2946 | version "1.0.3" | 3018 | version "1.0.3" |
2947 | resolved "https://registry.yarnpkg.com/resetable/-/resetable-1.0.3.tgz#0b8370bec2b921da04db0b22df8c9640fe399420" | 3019 | resolved "https://registry.yarnpkg.com/resetable/-/resetable-1.0.3.tgz#0b8370bec2b921da04db0b22df8c9640fe399420" |
2948 | integrity sha512-AJuhrcU5TVUaM5j0wSjZXlzt0Qb5pai7nDI+klgv7deuSHy5Kom7ovwBt5tMMO3XmJ9YYSCbKhkgDJHL4MEerQ== | 3020 | integrity sha512-AJuhrcU5TVUaM5j0wSjZXlzt0Qb5pai7nDI+klgv7deuSHy5Kom7ovwBt5tMMO3XmJ9YYSCbKhkgDJHL4MEerQ== |
@@ -2991,7 +3063,7 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: | |||
2991 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" | 3063 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" |
2992 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== | 3064 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== |
2993 | 3065 | ||
2994 | safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0: | 3066 | safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0: |
2995 | version "5.2.0" | 3067 | version "5.2.0" |
2996 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" | 3068 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" |
2997 | integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== | 3069 | integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== |
@@ -3375,6 +3447,29 @@ syntax-error@^1.1.4: | |||
3375 | dependencies: | 3447 | dependencies: |
3376 | acorn-node "^1.2.0" | 3448 | acorn-node "^1.2.0" |
3377 | 3449 | ||
3450 | tar-fs@^1.8.1: | ||
3451 | version "1.16.3" | ||
3452 | resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-1.16.3.tgz#966a628841da2c4010406a82167cbd5e0c72d509" | ||
3453 | integrity sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw== | ||
3454 | dependencies: | ||
3455 | chownr "^1.0.1" | ||
3456 | mkdirp "^0.5.1" | ||
3457 | pump "^1.0.0" | ||
3458 | tar-stream "^1.1.2" | ||
3459 | |||
3460 | tar-stream@^1.1.2: | ||
3461 | version "1.6.2" | ||
3462 | resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555" | ||
3463 | integrity sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A== | ||
3464 | dependencies: | ||
3465 | bl "^1.0.0" | ||
3466 | buffer-alloc "^1.2.0" | ||
3467 | end-of-stream "^1.0.0" | ||
3468 | fs-constants "^1.0.0" | ||
3469 | readable-stream "^2.3.0" | ||
3470 | to-buffer "^1.1.1" | ||
3471 | xtend "^4.0.0" | ||
3472 | |||
3378 | tar@^4: | 3473 | tar@^4: |
3379 | version "4.4.10" | 3474 | version "4.4.10" |
3380 | resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.10.tgz#946b2810b9a5e0b26140cf78bea6b0b0d689eba1" | 3475 | resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.10.tgz#946b2810b9a5e0b26140cf78bea6b0b0d689eba1" |
@@ -3388,6 +3483,13 @@ tar@^4: | |||
3388 | safe-buffer "^5.1.2" | 3483 | safe-buffer "^5.1.2" |
3389 | yallist "^3.0.3" | 3484 | yallist "^3.0.3" |
3390 | 3485 | ||
3486 | targz@^1.0.1: | ||
3487 | version "1.0.1" | ||
3488 | resolved "https://registry.yarnpkg.com/targz/-/targz-1.0.1.tgz#8f76a523694cdedfbb5d60a4076ff6eeecc5398f" | ||
3489 | integrity sha1-j3alI2lM3t+7XWCkB2/27uzFOY8= | ||
3490 | dependencies: | ||
3491 | tar-fs "^1.8.1" | ||
3492 | |||
3391 | tarn@^1.1.4: | 3493 | tarn@^1.1.4: |
3392 | version "1.1.5" | 3494 | version "1.1.5" |
3393 | resolved "https://registry.yarnpkg.com/tarn/-/tarn-1.1.5.tgz#7be88622e951738b9fa3fb77477309242cdddc2d" | 3495 | resolved "https://registry.yarnpkg.com/tarn/-/tarn-1.1.5.tgz#7be88622e951738b9fa3fb77477309242cdddc2d" |
@@ -3431,6 +3533,11 @@ tmp@0.0.x: | |||
3431 | dependencies: | 3533 | dependencies: |
3432 | os-tmpdir "~1.0.2" | 3534 | os-tmpdir "~1.0.2" |
3433 | 3535 | ||
3536 | to-buffer@^1.1.1: | ||
3537 | version "1.1.1" | ||
3538 | resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80" | ||
3539 | integrity sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg== | ||
3540 | |||
3434 | to-object-path@^0.3.0: | 3541 | to-object-path@^0.3.0: |
3435 | version "0.3.0" | 3542 | version "0.3.0" |
3436 | resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" | 3543 | resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" |