Merge pull request #485 from Irev-Dev/kurt/484-rebase

Remove s3
This commit was merged in pull request #485.
This commit is contained in:
Kurt Hutten
2021-09-04 23:53:21 +10:00
committed by GitHub
28 changed files with 457 additions and 4660 deletions

View File

@@ -3,13 +3,21 @@
"version": "0.0.0",
"private": true,
"dependencies": {
"@redwoodjs/api": "^0.36.2",
"@redwoodjs/api": "^0.36.3",
"@sentry/node": "^6.5.1",
"axios": "^0.21.1",
"cloudinary": "^1.23.0",
"cors": "^2.8.5",
"express": "^4.17.1",
"human-id": "^2.0.1",
"nodemailer": "^6.6.2"
"middy": "^0.36.0",
"nanoid": "^3.1.20",
"nodemailer": "^6.6.2",
"serverless-binary-cors": "^0.0.1"
},
"devDependencies": {
"@types/nodemailer": "^6.4.2"
"@types/nodemailer": "^6.4.2",
"concurrently": "^6.0.0",
"nodemon": "^2.0.7"
}
}
}

View File

@@ -1,11 +1,12 @@
# Serverless
We're using the serverless from work for deployment
We're using the serverless framework for deployment
```
sls deploy --stage stagename
yarn rw build api && sls deploy --stage <stagename>
```
But [Kurt Hutten](https://github.com/Irev-Dev) is the only one with credentials for deployment atm, though if you wanted to set your own account you could deploy to that if you wanted to test.
Deploying has `yarn rw build` first because the image uses built js files
## Testing changes locally
@@ -18,17 +19,16 @@ The docker build relies on a git ignored file, the aws-lambda-rie. [Download it]
you will also need to create a .env in `app/api/src/docker/.env` for the following env-vars `DEV_AWS_SECRET_ACCESS_KEY, DEV_AWS_ACCESS_KEY_ID and DEV_BUCKET`. Ask @irev-dev for credentials and he can sort you out.
Then cd into this folder `cd api/src/docker` and:
Run
```bash
docker-compose up --build
yarn cad
```
The first time you run this, it has to build the main image it will take some time, but launching again will be quicker.
After which we'll also spin up a light express server to act as an emulator to transform some the request from the front end into how the lambda's expect them (This emulates the aws-api-gateway which changes tranforms the inbound requests somewhat).
```
yarn install
yarn emulate
yarn aws-emulate
```
You can now add CAD_LAMBDA_BASE_URL="http://localhost:8080" to you .env file and restart your main dev process (`yarn rw dev`) comment that line out if you want to go back to using the aws endpoint (and restart the dev process).

View File

@@ -16,10 +16,12 @@ const makeRequest = (route, port) => [
console.log(`making post request to ${port}, ${route}`)
try {
const { data } = await axios.post(invocationURL(port), {
body: JSON.stringify(req.body),
body: Buffer.from(JSON.stringify(req.body)).toString('base64'),
})
res.status(data.statusCode)
res.send(data.body)
res.setHeader('Content-Type', 'application/javascript')
res.setHeader('Content-Encoding', 'gzip')
res.send(Buffer.from(data.body, 'base64'))
} catch (e) {
res.status(500)
res.send()

View File

@@ -8,7 +8,7 @@ RUN apt-get update -qq
RUN apt-get install -y wget
# install node14, see comment at the to of node14source_setup.sh
ADD common/node14source_setup.sh /nodesource_setup.sh
ADD src/docker/common/node14source_setup.sh /nodesource_setup.sh
RUN ["chmod", "+x", "/nodesource_setup.sh"]
RUN bash nodesource_setup.sh
RUN apt-get install -y nodejs
@@ -26,13 +26,14 @@ RUN apt-get update && \
# Add the lambda emulator for local dev, (see entrypoint.sh for where it's used),
# I have the file locally (gitignored) to speed up build times (as it downloads everytime),
# but you can use the http version of the below ADD command or download it yourself from that url.
ADD common/aws-lambda-rie /usr/local/bin/aws-lambda-rie
ADD src/docker/common/aws-lambda-rie /usr/local/bin/aws-lambda-rie
# ADD https://github.com/aws/aws-lambda-runtime-interface-emulator/releases/download/v1.0/aws-lambda-rie /usr/local/bin/aws-lambda-rie
RUN ["chmod", "+x", "/usr/local/bin/aws-lambda-rie"]
WORKDIR /var/task/
COPY cadquery/package*.json /var/task/
COPY package*.json /var/task/
RUN npm install
RUN npm install aws-lambda-ric@1.0.0
# Get the distribution copy of cq-cli
@@ -45,9 +46,11 @@ RUN unzip cq-cli-Linux-x86_64.zip
RUN chmod +x cq-cli/cq-cli
RUN echo "cadhub-concat-split" > /var/task/cadhub-concat-split
COPY cadquery/*.js /var/task/
COPY common/*.js /var/common/
COPY common/entrypoint.sh /entrypoint.sh
# using built javascript from dist
# run `yarn rw build` before bulding this image
COPY dist/docker/cadquery/*.js /var/task/js/
COPY dist/docker/common/*.js /var/task/common/
COPY src/docker/common/entrypoint.sh /entrypoint.sh
RUN ["chmod", "+x", "/entrypoint.sh"]
ENTRYPOINT ["sh", "/entrypoint.sh"]
CMD [ "cadquery.stl" ]
CMD [ "js/cadquery.stl" ]

View File

@@ -1,56 +0,0 @@
const { runCQ } = require('./runCQ')
const middy = require('middy')
const { cors } = require('middy/middlewares')
const AWS = require('aws-sdk')
const tk = require('timekeeper')
const {
makeHash,
checkIfAlreadyExists,
getObjectUrl,
loggerWrap,
storeAssetAndReturnUrl,
} = require('../common/utils')
const s3 = new AWS.S3()
const stl = async (req, _context, callback) => {
_context.callbackWaitsForEmptyEventLoop = false
const eventBody = req.body
console.log('eventBody', eventBody)
const key = `${makeHash(eventBody)}.stl`
console.log('key', key)
const params = {
Bucket: process.env.BUCKET,
Key: key,
}
const previousAsset = await checkIfAlreadyExists(params, s3)
if (previousAsset.isAlreadyInBucket) {
console.log('already in bucket')
const response = {
statusCode: 200,
body: JSON.stringify({
url: getObjectUrl(params, s3, tk),
}),
}
callback(null, response)
return
}
const { file, settings } = JSON.parse(eventBody)
const { error, consoleMessage, fullPath } = await runCQ({ file, settings })
await storeAssetAndReturnUrl({
error,
callback,
fullPath,
consoleMessage,
key,
s3,
params,
tk,
})
}
module.exports = {
stl: middy(loggerWrap(stl)).use(cors()),
}

View File

@@ -0,0 +1,23 @@
import { runCQ } from './runCQ'
import middy from 'middy'
import { cors } from 'middy/middlewares'
import { loggerWrap, storeAssetAndReturnUrl } from '../common/utils'
const stl = async (req, _context, callback) => {
_context.callbackWaitsForEmptyEventLoop = false
const eventBody = Buffer.from(req.body, 'base64').toString('ascii')
console.log('eventBody', eventBody)
const { file, settings } = JSON.parse(eventBody)
const { error, consoleMessage, fullPath } = await runCQ({ file, settings })
await storeAssetAndReturnUrl({
error,
callback,
fullPath,
consoleMessage,
})
}
module.exports = {
stl: middy(loggerWrap(stl)).use(cors()),
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,18 +0,0 @@
{
"name": "openscad-endpoint",
"version": "0.0.1",
"description": "endpoint for openscad",
"main": "index.js",
"author": "Kurt Hutten <kurt@kurthutten.com>",
"license": "",
"dependencies": {
"aws-sdk": "^2.907.0",
"cors": "^2.8.5",
"middy": "^0.36.0",
"nanoid": "^3.1.20",
"timekeeper": "2.2.0"
},
"devDependencies": {
"aws-lambda-ric": "^1.0.0"
}
}

View File

@@ -1,7 +1,7 @@
const { writeFiles, runCommand } = require('../common/utils')
const { nanoid } = require('nanoid')
import { writeFiles, runCommand } from '../common/utils'
import { nanoid } from 'nanoid'
module.exports.runCQ = async ({
export const runCQ = async ({
file,
settings: { deflection = 0.3 } = {},
} = {}) => {
@@ -27,6 +27,7 @@ module.exports.runCQ = async ({
{
file: JSON.stringify({
consoleMessage,
type: 'stl',
}),
fileName: 'metadata.json',
},

View File

@@ -2,8 +2,12 @@ const { exec } = require('child_process')
const { promises } = require('fs')
const { writeFile } = promises
const { createHash } = require('crypto')
import { readFile } from 'fs/promises'
async function writeFiles(files = [], tempFile) {
export async function writeFiles(
files: { file: string; fileName: string }[] = [],
tempFile: string
): Promise<string> {
console.log(`file to write: ${files.length}`)
try {
@@ -19,7 +23,7 @@ async function writeFiles(files = [], tempFile) {
return tempFile
}
async function runCommand(command, timeout = 5000) {
export async function runCommand(command, timeout = 5000): Promise<string> {
return new Promise((resolve, reject) => {
exec(command, (error, stdout, stderr) => {
if (error) {
@@ -77,7 +81,7 @@ function getObjectUrl(params, s3, tk) {
)
}
function loggerWrap(handler) {
export function loggerWrap(handler) {
return (req, _context, callback) => {
try {
return handler(req, _context, callback)
@@ -87,15 +91,16 @@ function loggerWrap(handler) {
}
}
async function storeAssetAndReturnUrl({
export async function storeAssetAndReturnUrl({
error,
callback,
fullPath,
consoleMessage,
key,
s3,
params,
tk,
}: {
error: string
callback: Function
fullPath: string
consoleMessage: string
}) {
if (error) {
const response = {
@@ -106,11 +111,10 @@ async function storeAssetAndReturnUrl({
return
} else {
console.log(`got result in route: ${consoleMessage}, file is: ${fullPath}`)
const { readFile } = require('fs/promises')
let buffer
let buffer = ''
try {
buffer = await readFile(fullPath)
buffer = await readFile(fullPath, { encoding: 'base64' })
} catch (e) {
console.log('read file error', e)
const response = {
@@ -120,37 +124,16 @@ async function storeAssetAndReturnUrl({
callback(null, response)
return
}
const FiveDays = 432000
const storedRender = await s3
.putObject({
Bucket: process.env.BUCKET,
Key: key,
Body: buffer,
CacheControl: `max-age=${FiveDays}`, // browser caching to stop downloads of the same part
ContentType: 'text/stl',
ContentEncoding: 'gzip',
})
.promise()
console.log('stored object', storedRender)
const url = getObjectUrl(params, s3, tk)
console.log('url', url)
const response = {
statusCode: 200,
body: JSON.stringify({
url,
}),
body: buffer,
isBase64Encoded: true,
headers: {
'Content-Type': 'application/javascript',
'Content-Encoding': 'gzip',
},
}
callback(null, response)
return
}
}
module.exports = {
runCommand,
writeFiles,
makeHash,
checkIfAlreadyExists,
getObjectUrl,
loggerWrap,
storeAssetAndReturnUrl,
}

View File

@@ -2,10 +2,14 @@ services:
openscad-preview:
build:
context: ./
dockerfile: ./openscad/Dockerfile
context: ../../
dockerfile: ./src/docker/openscad/Dockerfile
image: openscad
command: openscad.preview
command: js/openscad.preview
# Adding volumes so that the containers can be restarted for js only changes in local dev
volumes:
- ../../dist/docker/openscad:/var/task/js/
- ../../dist/docker/common:/var/task/common/
ports:
- "5052:8080"
environment:
@@ -15,7 +19,10 @@ services:
openscad-stl:
image: openscad
command: openscad.stl
volumes:
- ../../dist/docker/openscad:/var/task/js/
- ../../dist/docker/common:/var/task/common/
command: js/openscad.stl
ports:
- "5053:8080"
environment:
@@ -25,9 +32,12 @@ services:
cadquery-stl:
build:
context: ./
dockerfile: ./cadquery/Dockerfile
command: cadquery.stl
context: ../../
dockerfile: ./src/docker/cadquery/Dockerfile
volumes:
- ../../dist/docker/cadquery:/var/task/js/
- ../../dist/docker/common:/var/task/common/
command: js/cadquery.stl
ports:
- 5060:8080
environment:

View File

@@ -14,7 +14,7 @@ RUN apt-get update -qq
RUN apt-get install -y openscad-nightly
# install node14, see comment at the to of node14source_setup.sh
ADD common/node14source_setup.sh /nodesource_setup.sh
ADD src/docker/common/node14source_setup.sh /nodesource_setup.sh
RUN ["chmod", "+x", "/nodesource_setup.sh"]
RUN bash nodesource_setup.sh
RUN apt-get install -y nodejs
@@ -32,13 +32,14 @@ RUN apt-get update && \
# Add the lambda emulator for local dev, (see entrypoint.sh for where it's used),
# I have the file locally (gitignored) to speed up build times (as it downloads everytime),
# but you can use the http version of the below ADD command or download it yourself from that url.
ADD common/aws-lambda-rie /usr/local/bin/aws-lambda-rie
ADD src/docker/common/aws-lambda-rie /usr/local/bin/aws-lambda-rie
# ADD https://github.com/aws/aws-lambda-runtime-interface-emulator/releases/download/v1.0/aws-lambda-rie /usr/local/bin/aws-lambda-rie
RUN ["chmod", "+x", "/usr/local/bin/aws-lambda-rie"]
WORKDIR /var/task/
COPY openscad/package*.json /var/task/
COPY package*.json /var/task/
RUN npm install
RUN npm install aws-lambda-ric@1.0.0
# Install OpenSCAD libraries
# It's experimental, so only adding latest Round-Anything for now
@@ -46,14 +47,16 @@ RUN echo "OPENSCADPATH=/var/task/openscad" >>/etc/profile && \
wget -P /var/task/openscad/ https://github.com/Irev-Dev/Round-Anything/archive/refs/tags/1.0.4.zip && \
unzip /var/task/openscad/1.0.4
# Add our own theming (based on DeepOcean with a different "background" and "opencsg-face-back")
COPY openscad/cadhubtheme.json /usr/share/openscad-nightly/color-schemes/render/
COPY src/docker/openscad/cadhubtheme.json /usr/share/openscad-nightly/color-schemes/render/
RUN echo "cadhub-concat-split" > /var/task/cadhub-concat-split
COPY openscad/*.js /var/task/
COPY common/*.js /var/common/
COPY common/entrypoint.sh /entrypoint.sh
# using built javascript from dist
# run `yarn rw build` before bulding this image
COPY dist/docker/openscad/* /var/task/js/
COPY dist/docker/common/* /var/task/common/
COPY src/docker/common/entrypoint.sh /entrypoint.sh
RUN ["chmod", "+x", "/entrypoint.sh"]
ENTRYPOINT ["sh", "/entrypoint.sh"]
CMD [ "openscad.render" ]
CMD [ "js/openscad.render" ]

View File

@@ -1,129 +0,0 @@
const { runScad, stlExport } = require('./runScad')
const middy = require('middy')
const { cors } = require('middy/middlewares')
const AWS = require('aws-sdk')
const tk = require('timekeeper')
const {
makeHash,
checkIfAlreadyExists,
getObjectUrl,
loggerWrap,
storeAssetAndReturnUrl,
} = require('../common/utils')
const s3 = new AWS.S3()
const openScadStlKey = (eventBody) => {
const { file } = JSON.parse(eventBody)
return `${makeHash(JSON.stringify(file))}.stl`
}
const preview = async (req, _context, callback) => {
_context.callbackWaitsForEmptyEventLoop = false
const eventBody = req.body
console.log('eventBody', eventBody)
const key = `${makeHash(eventBody)}.png`
const stlKey = openScadStlKey(eventBody)
console.log('key', key)
const stlParams = {
Bucket: process.env.BUCKET,
Key: stlKey,
}
const params = {
Bucket: process.env.BUCKET,
Key: key,
}
const [previousAssetStl, previousAssetPng] = await Promise.all([
checkIfAlreadyExists(stlParams, s3),
checkIfAlreadyExists(params, s3),
])
const type = previousAssetStl.isAlreadyInBucket ? 'stl' : 'png'
const previousAsset = previousAssetStl.isAlreadyInBucket
? previousAssetStl
: previousAssetPng
if (previousAsset.isAlreadyInBucket) {
console.log('already in bucket')
const response = {
statusCode: 200,
body: JSON.stringify({
url: getObjectUrl(
{
Bucket: process.env.BUCKET,
Key: previousAssetStl.isAlreadyInBucket ? stlKey : key,
},
s3,
tk
),
type,
}),
}
callback(null, response)
return
}
const { file, settings } = JSON.parse(eventBody)
const { error, consoleMessage, fullPath, customizerPath } = await runScad({
file,
settings,
})
await storeAssetAndReturnUrl({
error,
callback,
fullPath,
consoleMessage,
key,
s3,
params,
tk,
})
}
const stl = async (req, _context, callback) => {
_context.callbackWaitsForEmptyEventLoop = false
const eventBody = req.body
console.log(eventBody, 'eventBody')
const stlKey = openScadStlKey(eventBody)
console.log('key', stlKey)
const params = {
Bucket: process.env.BUCKET,
Key: stlKey,
}
console.log('original params', params)
const previousAsset = await checkIfAlreadyExists(params, s3)
if (previousAsset.isAlreadyInBucket) {
console.log('already in bucket')
const response = {
statusCode: 200,
body: JSON.stringify({
url: getObjectUrl({ ...params }, s3, tk),
}),
}
callback(null, response)
return
}
const { file, settings } = JSON.parse(eventBody)
const { error, consoleMessage, fullPath, customizerPath } = await stlExport({
file,
settings,
})
await storeAssetAndReturnUrl({
error,
callback,
fullPath,
consoleMessage,
key: stlKey,
s3,
params,
tk,
})
}
module.exports = {
stl: middy(loggerWrap(stl)).use(cors()),
preview: middy(loggerWrap(preview)).use(cors()),
}

View File

@@ -0,0 +1,46 @@
import { runScad, stlExport } from './runScad'
import middy from 'middy'
import { cors } from 'middy/middlewares'
import { loggerWrap, storeAssetAndReturnUrl } from '../common/utils'
const preview = async (req, _context, callback) => {
_context.callbackWaitsForEmptyEventLoop = false
const eventBody = Buffer.from(req.body, 'base64').toString('ascii')
console.log('eventBody', eventBody)
const { file, settings } = JSON.parse(eventBody)
const { error, consoleMessage, fullPath } = await runScad({
file,
settings,
})
await storeAssetAndReturnUrl({
error,
callback,
fullPath,
consoleMessage,
})
}
const stl = async (req, _context, callback) => {
_context.callbackWaitsForEmptyEventLoop = false
const eventBody = Buffer.from(req.body, 'base64').toString('ascii')
console.log(eventBody, 'eventBody')
const { file, settings } = JSON.parse(eventBody)
const { error, consoleMessage, fullPath } = await stlExport({
file,
settings,
})
await storeAssetAndReturnUrl({
error,
callback,
fullPath,
consoleMessage,
})
}
module.exports = {
stl: middy(loggerWrap(stl)).use(cors()),
preview: middy(loggerWrap(preview)).use(cors()),
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,18 +0,0 @@
{
"name": "openscad-endpoint",
"version": "0.0.1",
"description": "endpoint for openscad",
"main": "index.js",
"author": "Kurt Hutten <kurt@kurthutten.com>",
"license": "",
"dependencies": {
"aws-sdk": "^2.907.0",
"cors": "^2.8.5",
"middy": "^0.36.0",
"nanoid": "^3.1.20",
"timekeeper": "2.2.0"
},
"devDependencies": {
"aws-lambda-ric": "^1.0.0"
}
}

View File

@@ -1,5 +1,5 @@
const { writeFiles, runCommand } = require('../common/utils')
const { nanoid } = require('nanoid')
import { writeFiles, runCommand } from '../common/utils'
import { nanoid } from 'nanoid'
const { readFile } = require('fs/promises')
const OPENSCAD_COMMON = `xvfb-run --auto-servernum --server-args "-screen 0 1024x768x24" openscad-nightly`
@@ -8,7 +8,7 @@ const OPENSCAD_COMMON = `xvfb-run --auto-servernum --server-args "-screen 0 1024
const cleanOpenScadError = (error) =>
error.replace(/["|']\/tmp\/.+\/main.scad["|']/g, "'main.scad'")
module.exports.runScad = async ({
export const runScad = async ({
file,
settings: {
size: { x = 500, y = 500 } = {},
@@ -19,7 +19,12 @@ module.exports.runScad = async ({
dist = 200,
} = {},
} = {}, // TODO add view settings
} = {}) => {
} = {}): Promise<{
error?: string
consoleMessage?: string
fullPath?: string
customizerPath?: string
}> => {
const tempFile = await writeFiles(
[
{ file, fileName: 'main.scad' },
@@ -62,6 +67,7 @@ module.exports.runScad = async ({
file: JSON.stringify({
customizerParams: params,
consoleMessage,
type: 'png',
}),
fileName: 'metadata.json',
},
@@ -78,7 +84,7 @@ module.exports.runScad = async ({
}
}
module.exports.stlExport = async ({ file, settings: { parameters } } = {}) => {
export const stlExport = async ({ file, settings: { parameters } } = {}) => {
const tempFile = await writeFiles(
[
{ file, fileName: 'main.scad' },
@@ -116,6 +122,7 @@ module.exports.stlExport = async ({ file, settings: { parameters } } = {}) => {
file: JSON.stringify({
customizerParams: params,
consoleMessage,
type: 'stl',
}),
fileName: 'metadata.json',
},

File diff suppressed because it is too large Load Diff

View File

@@ -1,20 +0,0 @@
{
"name": "aws-emulator",
"version": "1.0.0",
"description": "thin layer so that we can use docker lambdas locally",
"scripts": {
"lambdas": "docker-compose up --build",
"emulate": "nodemon ./aws-emulator.js",
"watch": "concurrently \"yarn lambdas\" \"yarn emulate\""
},
"main": "aws-emulator.js",
"dependencies": {
"axios": "^0.21.1",
"cors": "^2.8.5",
"express": "^4.17.1"
},
"devDependencies": {
"concurrently": "^6.0.0",
"nodemon": "^2.0.7"
}
}

View File

@@ -3,7 +3,8 @@ service: cad-lambdas
#app: your-app-name
#org: your-org-name
# plugins:
plugins:
- serverless-binary-cors
# - serverless-offline
# You can pin your service to only deploy with a specific Serverless version
@@ -17,13 +18,18 @@ provider:
images:
# this image is built locally and push to ECR
openscadimage:
path: ./
file: ./openscad/Dockerfile
path: ../../
file: ./src/docker/openscad/Dockerfile
cadqueryimage:
path: ./
file: ./cadquery/Dockerfile
path: ../../
file: ./src/docker/cadquery/Dockerfile
apiGateway:
metrics: true
binaryMediaTypes:
# we need to allow binary types to be able to send back images and stls, but it would be better to be more specific
# ie image/png etc. as */* treats everything as binary including the json body as the input the lambdas
# which mean we need to decode the input bode from base64, but the images break with anything other than */* :(
- '*/*'
# you can overwrite defaults here
# stage: dev
@@ -52,7 +58,7 @@ functions:
image:
name: openscadimage
command:
- openscad.preview
- js/openscad.preview
entryPoint:
- '/entrypoint.sh'
events:
@@ -67,7 +73,7 @@ functions:
image:
name: openscadimage
command:
- openscad.stl
- js/openscad.stl
entryPoint:
- '/entrypoint.sh'
events:
@@ -82,7 +88,7 @@ functions:
image:
name: cadqueryimage
command:
- cadquery.stl
- js/cadquery.stl
entryPoint:
- '/entrypoint.sh'
events:

View File

@@ -6,9 +6,13 @@
"web"
]
},
"scripts": {},
"scripts": {
"cad": "yarn rw build api && docker-compose --file ./api/src/docker/docker-compose.yml up --build",
"cad-r": "yarn rw build api && docker-compose --file ./api/src/docker/docker-compose.yml restart",
"aws-emulate": "nodemon ./api/src/docker/aws-emulator.js"
},
"devDependencies": {
"@redwoodjs/core": "^0.36.2"
"@redwoodjs/core": "^0.36.3"
},
"eslintConfig": {
"extends": "@redwoodjs/eslint-config",
@@ -29,4 +33,4 @@
"node": ">=14",
"yarn": ">=1.15"
}
}
}

View File

@@ -19,10 +19,10 @@
"@monaco-editor/react": "^4.0.11",
"@react-three/drei": "^7.3.1",
"@react-three/fiber": "^7.0.5",
"@redwoodjs/auth": "^0.36.2",
"@redwoodjs/forms": "^0.36.2",
"@redwoodjs/router": "^0.36.2",
"@redwoodjs/web": "^0.36.2",
"@redwoodjs/auth": "^0.36.3",
"@redwoodjs/forms": "^0.36.3",
"@redwoodjs/router": "^0.36.3",
"@redwoodjs/web": "^0.36.3",
"@sentry/browser": "^6.5.1",
"@tailwindcss/aspect-ratio": "0.2.1",
"axios": "^0.21.1",
@@ -56,4 +56,4 @@
"postcss-loader": "^6.1.1",
"tailwindcss": "^2.2.7"
}
}
}

View File

@@ -11,8 +11,9 @@ const ExternalScript = () => {
const handleRender = useRender()
const [rawUrl, setRawUrl] = useState('')
const [script, setScript] = useState('')
const [asyncState, setAsyncState] =
useState<'INIT' | 'SUCCESS' | 'ERROR' | 'LOADING'>('INIT')
const [asyncState, setAsyncState] = useState<
'INIT' | 'SUCCESS' | 'ERROR' | 'LOADING'
>('INIT')
const cadName = ideTypeNameMap[state.ideType]

View File

@@ -3,7 +3,9 @@ import { TextField, FieldError } from '@redwoodjs/forms'
import { useFormContext } from 'react-hook-form'
const InputText = ({ type = 'text', className, name, validation }) => {
const { formState: { errors } } = useFormContext()
const {
formState: { errors },
} = useFormContext()
return (
<>
<div className={getActiveClasses('relative inline-block', className)}>

View File

@@ -41,20 +41,16 @@ export const render: DefaultKernelExport['render'] = async ({
if (response.status === 502) {
return createUnhealthyResponse(new Date(), timeoutErrorMessage)
}
const data = await response.json()
const newData = await fetch(data.url).then(async (a) => {
const blob = await a.blob()
const text = await new Response(blob).text()
const { consoleMessage } = splitGziped(text)
return {
data: await stlToGeometry(window.URL.createObjectURL(blob)),
consoleMessage,
}
})
const blob = await response.blob()
const text = await new Response(blob).text()
const { consoleMessage, customizerParams, type } = splitGziped(text)
return createHealthyResponse({
type: 'geometry',
data: newData.data,
consoleMessage: newData.consoleMessage,
type: type !== 'stl' ? 'png' : 'geometry',
data:
type !== 'stl'
? blob
: await stlToGeometry(window.URL.createObjectURL(blob)),
consoleMessage,
date: new Date(),
})
} catch (e) {

View File

@@ -4,7 +4,7 @@ import { CadhubParams } from 'src/components/Customizer/customizerConverter'
export const lambdaBaseURL =
process.env.CAD_LAMBDA_BASE_URL ||
'https://oxt2p7ddgj.execute-api.us-east-1.amazonaws.com/prod'
'https://2inlbple1b.execute-api.us-east-1.amazonaws.com/prod2'
export const stlToGeometry = (url) =>
new Promise((resolve, reject) => {

View File

@@ -57,27 +57,18 @@ export const render = async ({ code, settings }: RenderArgs) => {
if (response.status === 502) {
return createUnhealthyResponse(new Date(), timeoutErrorMessage)
}
const data = await response.json()
const type = data.type !== 'stl' ? 'png' : 'geometry'
const newData = await fetch(data.url).then(async (a) => {
const blob = await a.blob()
const text = await new Response(blob).text()
const { consoleMessage, customizerParams } = splitGziped(text)
return {
data:
data.type !== 'stl'
? blob
: await stlToGeometry(window.URL.createObjectURL(blob)),
consoleMessage,
customizerParams,
}
})
const blob = await response.blob()
const text = await new Response(blob).text()
const { consoleMessage, customizerParams, type } = splitGziped(text)
return createHealthyResponse({
type,
data: newData.data,
consoleMessage: newData.consoleMessage,
type: type !== 'stl' ? 'png' : 'geometry',
data:
type !== 'stl'
? blob
: await stlToGeometry(window.URL.createObjectURL(blob)),
consoleMessage,
date: new Date(),
customizerParams: openScadToCadhubParams(newData.customizerParams || []),
customizerParams: openScadToCadhubParams(customizerParams || []),
})
} catch (e) {
return createUnhealthyResponse(new Date())
@@ -105,23 +96,18 @@ export const stl = async ({ code, settings }: RenderArgs) => {
if (response.status === 502) {
return createUnhealthyResponse(new Date(), timeoutErrorMessage)
}
const data = await response.json()
const newData = await fetch(data.url).then(async (a) => {
const blob = await a.blob()
const text = await new Response(blob).text()
const { consoleMessage, customizerParams } = splitGziped(text)
return {
data: await stlToGeometry(window.URL.createObjectURL(blob)),
consoleMessage,
customizerParams,
}
})
const blob = await response.blob()
const text = await new Response(blob).text()
const { consoleMessage, customizerParams, type } = splitGziped(text)
return createHealthyResponse({
type: 'geometry',
data: newData.data,
consoleMessage: newData.consoleMessage,
type: type !== 'stl' ? 'png' : 'geometry',
data:
type !== 'stl'
? blob
: await stlToGeometry(window.URL.createObjectURL(blob)),
consoleMessage,
date: new Date(),
customizerParams: openScadToCadhubParams(newData.customizerParams || []),
customizerParams: openScadToCadhubParams(customizerParams || []),
})
} catch (e) {
return createUnhealthyResponse(new Date())

View File

@@ -2476,20 +2476,12 @@
resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.9.2.tgz#adea7b6953cbb34651766b0548468e743c6a2353"
integrity sha512-VZMYa7+fXHdwIq1TDhSXoVmSPEGM/aa+6Aiq3nVVJ9bXr24zScr+NlKFKC3iPljA7ho/GAZr+d2jOf5GIRC30Q==
"@prisma/client@2.29.1":
version "2.29.1"
resolved "https://registry.yarnpkg.com/@prisma/client/-/client-2.29.1.tgz#a7b91c9644800de4e00b2f7c3789ff4bae42b3d6"
integrity sha512-GhieSvHGPIV5IwRYIkJ4FrGSNfX18lPhFtlyVWxhvX0ocdy8oTnjNZVTFgGxB6qVmJIUpH1HsckAzIoAX689IA==
"@prisma/client@2.30.0":
version "2.30.0"
resolved "https://registry.yarnpkg.com/@prisma/client/-/client-2.30.0.tgz#b0ed9db67405f619e428577f2d45843104142e00"
integrity sha512-tjJNHVfgyNOwS2F+AkjMMCJGPnXzHuUCrOnAMJyidAu4aNzxbJ8jWwjt96rRMpyrg9Hwen3xqqQ2oA+ikK7nhQ==
dependencies:
"@prisma/engines-version" "2.29.0-34.1be4cd60b89afa04b192acb1ef47758a39810f3a"
"@prisma/debug@2.28.0":
version "2.28.0"
resolved "https://registry.yarnpkg.com/@prisma/debug/-/debug-2.28.0.tgz#bb56e0b1baf91fe7732f8cf14759b1d035180315"
integrity sha512-SKihAtTPDqfm/iyLVs5xf1uLu4Ev+zcFLc8vdiGofpHTkeiu3qU1OSDPnrQ0nwn0IJsp3SeRbV0NRWTwL5Z71w==
dependencies:
debug "4.3.2"
ms "^2.1.3"
"@prisma/engines-version" "2.30.0-28.60b19f4a1de4fe95741da371b4c44a92f4d1adcb"
"@prisma/debug@2.29.1":
version "2.29.1"
@@ -2500,15 +2492,24 @@
debug "4.3.2"
ms "2.1.3"
"@prisma/engine-core@2.29.1":
version "2.29.1"
resolved "https://registry.yarnpkg.com/@prisma/engine-core/-/engine-core-2.29.1.tgz#9fdb1fddea6d650a97ae1d86e8264d4b95dbe364"
integrity sha512-vbZNry916sErWIagF62kASy665Pe9xDYdOQuJ9Njg90sApg4qHPAmDqRC5cf4wQzWOnhnenmWC7AjUfQKrrFiQ==
"@prisma/debug@2.30.0":
version "2.30.0"
resolved "https://registry.yarnpkg.com/@prisma/debug/-/debug-2.30.0.tgz#f9e25106a650b7e6c53b26a7f67195c24b2bc82d"
integrity sha512-PCEBFJxOmtLhPcl7VdLeVabSHJnlqWMCR4J1y6H+WvqtCt8oMwhgWu4z2Wgh2baphHC3T87+iQVU5BtZX+b5mA==
dependencies:
"@prisma/debug" "2.29.1"
"@prisma/engines" "2.29.0-34.1be4cd60b89afa04b192acb1ef47758a39810f3a"
"@prisma/generator-helper" "2.29.1"
"@prisma/get-platform" "2.29.0-34.1be4cd60b89afa04b192acb1ef47758a39810f3a"
"@types/debug" "4.1.7"
debug "4.3.2"
ms "2.1.3"
"@prisma/engine-core@2.30.0":
version "2.30.0"
resolved "https://registry.yarnpkg.com/@prisma/engine-core/-/engine-core-2.30.0.tgz#26264a634ddfd9320dc1a46c0a9accdfe8a3bb76"
integrity sha512-wy9B1dJLGv5u/E6LbjobEjEfhCVf9++2L3OLAAk9hfg4cCqwY4629woJ1m3w5FWLy29HSnZKgpvQ/8lz1dUbMA==
dependencies:
"@prisma/debug" "2.30.0"
"@prisma/engines" "2.30.0-28.60b19f4a1de4fe95741da371b4c44a92f4d1adcb"
"@prisma/generator-helper" "2.30.0"
"@prisma/get-platform" "2.30.0-28.60b19f4a1de4fe95741da371b4c44a92f4d1adcb"
chalk "4.1.2"
execa "5.1.1"
get-stream "6.0.1"
@@ -2518,23 +2519,23 @@
terminal-link "2.1.1"
undici "3.3.6"
"@prisma/engines-version@2.29.0-34.1be4cd60b89afa04b192acb1ef47758a39810f3a":
version "2.29.0-34.1be4cd60b89afa04b192acb1ef47758a39810f3a"
resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-2.29.0-34.1be4cd60b89afa04b192acb1ef47758a39810f3a.tgz#96db92f09714d4dd2a5e21054c28bd1c0820fa77"
integrity sha512-BU1DNNDhdzqjHtycpUzDrU8+jf6ZY+fbXvCV/rbqG+0JifljlIo4vbkHDMg97gBi1Do8pTLZGlTH16FlniKgAg==
"@prisma/engines-version@2.30.0-28.60b19f4a1de4fe95741da371b4c44a92f4d1adcb":
version "2.30.0-28.60b19f4a1de4fe95741da371b4c44a92f4d1adcb"
resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-2.30.0-28.60b19f4a1de4fe95741da371b4c44a92f4d1adcb.tgz#1360113dc19e1d43d4442e3b638ccfa0e1711943"
integrity sha512-oThNpx7HtJ0eEmnvrWARYcNCs6dqFdAK3Smt2bJVDD6Go4HLuuhjx028osP+rHaFrGOTx7OslLZYtvvFlAXRDA==
"@prisma/engines@2.29.0-34.1be4cd60b89afa04b192acb1ef47758a39810f3a":
version "2.29.0-34.1be4cd60b89afa04b192acb1ef47758a39810f3a"
resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-2.29.0-34.1be4cd60b89afa04b192acb1ef47758a39810f3a.tgz#0a44a6dcbee7e0a2850ea086675a8a4f4d627f9d"
integrity sha512-cgEoGK3dmKZkMp/sRbL8TsuVS50rHXYBHk2NY18DPUGr5//4ICno46EjzlayqAFVak8J6RtWZEs+8tE8j8frAQ==
"@prisma/engines@2.30.0-28.60b19f4a1de4fe95741da371b4c44a92f4d1adcb":
version "2.30.0-28.60b19f4a1de4fe95741da371b4c44a92f4d1adcb"
resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-2.30.0-28.60b19f4a1de4fe95741da371b4c44a92f4d1adcb.tgz#b4d91ff876662b1de83e0cc913149a1c088becc7"
integrity sha512-LPKq88lIbYezvX0OOc1PU42hHdTsSMPJWmK8lusaHK7DaLHyXjDp/551LbsVapypbjW6N3Jx/If6GoMDASSMSw==
"@prisma/fetch-engine@2.29.0-34.1be4cd60b89afa04b192acb1ef47758a39810f3a":
version "2.29.0-34.1be4cd60b89afa04b192acb1ef47758a39810f3a"
resolved "https://registry.yarnpkg.com/@prisma/fetch-engine/-/fetch-engine-2.29.0-34.1be4cd60b89afa04b192acb1ef47758a39810f3a.tgz#de40f3bd761f3da1f2e0e0af027514c845f58264"
integrity sha512-HsTHffo2xg0rZchdqWJHDvl7JaOi2U1rDockKYAYPf3grGZ14AnJ/ZVP292xMm0IiGLkb5YE3qkI5SKoGEUqMw==
"@prisma/fetch-engine@2.30.0-28.60b19f4a1de4fe95741da371b4c44a92f4d1adcb":
version "2.30.0-28.60b19f4a1de4fe95741da371b4c44a92f4d1adcb"
resolved "https://registry.yarnpkg.com/@prisma/fetch-engine/-/fetch-engine-2.30.0-28.60b19f4a1de4fe95741da371b4c44a92f4d1adcb.tgz#434c8fb3b7c631bc1f55abb87e16c03c60895ce3"
integrity sha512-62/gM4Gm+e1BQlgj4OFmdQKa22nWg5FZ6hNsoRHopcm45RRhnSHqYiD+9djo/98i1/+MYfwxCwPqhhJm28lJuw==
dependencies:
"@prisma/debug" "2.28.0"
"@prisma/get-platform" "2.29.0-34.1be4cd60b89afa04b192acb1ef47758a39810f3a"
"@prisma/debug" "2.29.1"
"@prisma/get-platform" "2.30.0-28.60b19f4a1de4fe95741da371b4c44a92f4d1adcb"
chalk "^4.0.0"
execa "^5.0.0"
find-cache-dir "^3.3.1"
@@ -2551,37 +2552,37 @@
temp-dir "^2.0.0"
tempy "^1.0.0"
"@prisma/generator-helper@2.29.1":
version "2.29.1"
resolved "https://registry.yarnpkg.com/@prisma/generator-helper/-/generator-helper-2.29.1.tgz#7bd984f649ba830d11fdd514f8781c92a2782e41"
integrity sha512-rba/mfxv1JtbAm51yXipYY7DVYB4L2DVVnnXOvSAhAqDLUVylT68WxLXQKiSBxNAlks5ngD2DeaH6qpGi+XnYw==
"@prisma/generator-helper@2.30.0":
version "2.30.0"
resolved "https://registry.yarnpkg.com/@prisma/generator-helper/-/generator-helper-2.30.0.tgz#152f7381d7c4eb6022c7173f905d98a79f830728"
integrity sha512-7XKJM83LLrpDSqiDrINaBqtePUJomgxfiofIx0TM5pBIg2vmWwpe5Q+VDQxr88ypqVW83NW6BfPgTm7Qni4+mQ==
dependencies:
"@prisma/debug" "2.29.1"
"@prisma/debug" "2.30.0"
"@types/cross-spawn" "6.0.2"
chalk "4.1.2"
cross-spawn "7.0.3"
"@prisma/get-platform@2.29.0-34.1be4cd60b89afa04b192acb1ef47758a39810f3a":
version "2.29.0-34.1be4cd60b89afa04b192acb1ef47758a39810f3a"
resolved "https://registry.yarnpkg.com/@prisma/get-platform/-/get-platform-2.29.0-34.1be4cd60b89afa04b192acb1ef47758a39810f3a.tgz#78e9200abdfa15446d4830c101e5b2d692bef7ab"
integrity sha512-eEuXFcELlo8bAszQOz3YOyVpoKMjD/RSml29P51WFaDaHZaudfqV6OkSpMV2Qchcyg6neI1mvT+0acutBpNXTw==
dependencies:
"@prisma/debug" "2.28.0"
"@prisma/sdk@2.29.1":
version "2.29.1"
resolved "https://registry.yarnpkg.com/@prisma/sdk/-/sdk-2.29.1.tgz#1619f4f20847caa408c75b9e8175e6a2913c4184"
integrity sha512-vtcF5jdUskjalL5Q9iagbcc+vfwUa+DAQnNdYg0PtmpaS2llWezptvEJd2ihMR7O5m2sAmI87QDiCn9Y5FxNjQ==
"@prisma/get-platform@2.30.0-28.60b19f4a1de4fe95741da371b4c44a92f4d1adcb":
version "2.30.0-28.60b19f4a1de4fe95741da371b4c44a92f4d1adcb"
resolved "https://registry.yarnpkg.com/@prisma/get-platform/-/get-platform-2.30.0-28.60b19f4a1de4fe95741da371b4c44a92f4d1adcb.tgz#6b2aa861c1c6383c39178d0e272d5bc53dc7bc30"
integrity sha512-gqB9defmpCvxvQM9HFNpo1s0G652eE556ckO+k9X1Kfbt1vaX6FuxtQD5IPcu0nDm42u3NTkX9lDR1Y0j5VPng==
dependencies:
"@prisma/debug" "2.29.1"
"@prisma/engine-core" "2.29.1"
"@prisma/engines" "2.29.0-34.1be4cd60b89afa04b192acb1ef47758a39810f3a"
"@prisma/fetch-engine" "2.29.0-34.1be4cd60b89afa04b192acb1ef47758a39810f3a"
"@prisma/generator-helper" "2.29.1"
"@prisma/get-platform" "2.29.0-34.1be4cd60b89afa04b192acb1ef47758a39810f3a"
"@prisma/sdk@2.30.0":
version "2.30.0"
resolved "https://registry.yarnpkg.com/@prisma/sdk/-/sdk-2.30.0.tgz#0c7d5bc4872d87b31831ce8ddd7ac5ab73c80471"
integrity sha512-bIYLphnGnfoguFfKiHon/RZhMTAk8gpElUos1+O7RHzDdzqPEusyl8T9lX123zxhmeVocyV0V2y/AxaD5USaxg==
dependencies:
"@prisma/debug" "2.30.0"
"@prisma/engine-core" "2.30.0"
"@prisma/engines" "2.30.0-28.60b19f4a1de4fe95741da371b4c44a92f4d1adcb"
"@prisma/fetch-engine" "2.30.0-28.60b19f4a1de4fe95741da371b4c44a92f4d1adcb"
"@prisma/generator-helper" "2.30.0"
"@prisma/get-platform" "2.30.0-28.60b19f4a1de4fe95741da371b4c44a92f4d1adcb"
"@timsuchanek/copy" "1.4.5"
archiver "4.0.2"
arg "5.0.0"
arg "5.0.1"
chalk "4.1.2"
checkpoint-client "1.1.20"
cli-truncate "2.1.0"
@@ -2602,7 +2603,7 @@
string-width "4.2.2"
strip-ansi "6.0.0"
strip-indent "3.0.0"
tar "6.1.6"
tar "6.1.8"
temp-dir "2.0.0"
temp-write "4.0.0"
tempy "1.0.1"
@@ -2739,10 +2740,10 @@
utility-types "^3.10.0"
zustand "^3.5.1"
"@redwoodjs/api-server@0.36.2":
version "0.36.2"
resolved "https://registry.yarnpkg.com/@redwoodjs/api-server/-/api-server-0.36.2.tgz#0040b08a124cafb049a2388602a3e023e1b39834"
integrity sha512-bxDaZCwTZF3SXZ6AdaQm+Ajqe+oOGvw1oIpMWsJ3m1Me7R8YNfhVqMEJKMrCAAw8APcgrcFZOeBAumpVLdBtrA==
"@redwoodjs/api-server@0.36.3":
version "0.36.3"
resolved "https://registry.yarnpkg.com/@redwoodjs/api-server/-/api-server-0.36.3.tgz#d4b011faceb34df775ebdf3054535e03f1b7e647"
integrity sha512-9hhn6rJSEo08IxzFmcZK5n5wdqiRdY3wBRs1JfM6zZDGvus+4Jwj9erK7pDLPeJilJazOtB/0gGW5JQnjE58yw==
dependencies:
ansi-colors "4.1.1"
body-parser "1.19.0"
@@ -2758,13 +2759,13 @@
youch "2.2.2"
youch-terminal "1.1.1"
"@redwoodjs/api@^0.36.2":
version "0.36.2"
resolved "https://registry.yarnpkg.com/@redwoodjs/api/-/api-0.36.2.tgz#e9122f407854a289480dd2e9f917a61cff77e6c3"
integrity sha512-nTNfDkkEpgFtc/tGTExikoJApbKT0JlA3TQTCXx0FlBE83NdFEjIZZBETUTKBaLZ/sUFT4iGIn/uzhJtYOI+DQ==
"@redwoodjs/api@^0.36.3":
version "0.36.3"
resolved "https://registry.yarnpkg.com/@redwoodjs/api/-/api-0.36.3.tgz#643b87419bd3d7dd57321abc984aa7ab2efb4b60"
integrity sha512-Qcgsk/4nw4lbPIWD3Q+6f1cnJ4s8G52edVkkf6tJuQ6D3He4whJc0PVpfDOGymSJs3DA49C7TFuRfaV+W22QBA==
dependencies:
"@graphql-tools/merge" "7.0.0"
"@prisma/client" "2.29.1"
"@prisma/client" "2.30.0"
"@types/pino" "6.3.11"
apollo-server-lambda "2.25.2"
core-js "3.16.1"
@@ -2780,21 +2781,21 @@
pino-pretty "5.1.3"
uuid "8.3.2"
"@redwoodjs/auth@0.36.2", "@redwoodjs/auth@^0.36.2":
version "0.36.2"
resolved "https://registry.yarnpkg.com/@redwoodjs/auth/-/auth-0.36.2.tgz#86fc2611a50fff8929f9d5c2a5ed5f7c54b5e8c7"
integrity sha512-iXjclf3C09+3CUsbyVpYBY96wboqOjzcvoAt4WbidUGh80W9mRLKYw1cDvaodRnWuQjB14A/33KOuqUtKVw8zw==
"@redwoodjs/auth@0.36.3", "@redwoodjs/auth@^0.36.3":
version "0.36.3"
resolved "https://registry.yarnpkg.com/@redwoodjs/auth/-/auth-0.36.3.tgz#285ce9817c8124cb9701a3e1f410fbed3793bb36"
integrity sha512-FYJfwrEuByrELrcxCBHKO3clvlTFUJii9wogxYg/ojzAMbbbjo0QF/DSHobpiE95GSyXb9LTUtaaHqGc0Y4R1g==
"@redwoodjs/cli@0.36.2":
version "0.36.2"
resolved "https://registry.yarnpkg.com/@redwoodjs/cli/-/cli-0.36.2.tgz#da10c8175193f65a076a5c7feaab5e1fef2cc290"
integrity sha512-Cgs00BpQYefrd9y4nO5yYiqZQZ2mC/Q/VxdyzHBbovhOS4uGlsy4TGBJ9SWICevPymxb62GdAblCxGcwQ2xX9A==
"@redwoodjs/cli@0.36.3":
version "0.36.3"
resolved "https://registry.yarnpkg.com/@redwoodjs/cli/-/cli-0.36.3.tgz#9545c167f019879c2c0d068a89489897e3d9c2d2"
integrity sha512-ItsjxjeAXYwN+Ax0SZB3DZtuMZP0H0HuEgPgLPuzVAwIueVLw21dooM1Hq8ggHjkDAY+rgKJwcEN2qzxpo/QkA==
dependencies:
"@prisma/sdk" "2.29.1"
"@redwoodjs/api-server" "0.36.2"
"@redwoodjs/internal" "0.36.2"
"@redwoodjs/prerender" "0.36.2"
"@redwoodjs/structure" "0.36.2"
"@prisma/sdk" "2.30.0"
"@redwoodjs/api-server" "0.36.3"
"@redwoodjs/internal" "0.36.3"
"@redwoodjs/prerender" "0.36.3"
"@redwoodjs/structure" "0.36.3"
boxen "5.0.1"
camelcase "6.2.0"
chalk "4.1.2"
@@ -2816,17 +2817,17 @@
pascalcase "1.0.0"
pluralize "8.0.0"
prettier "2.3.2"
prisma "2.29.1"
prisma "2.30.0"
prompts "2.4.1"
rimraf "3.0.2"
secure-random-password "0.2.3"
terminal-link "2.1.1"
yargs "16.2.0"
"@redwoodjs/core@^0.36.2":
version "0.36.2"
resolved "https://registry.yarnpkg.com/@redwoodjs/core/-/core-0.36.2.tgz#bdcd03174437fba1edc6ad616cca51d877d78519"
integrity sha512-T7zRlKcPiuj1tj59rB6nhhZgSj2bfg03cfN+EfP94jNb6Zew/0T6Jl4jdXIywGuB16Own9TpALzXQdQvxq29eg==
"@redwoodjs/core@^0.36.3":
version "0.36.3"
resolved "https://registry.yarnpkg.com/@redwoodjs/core/-/core-0.36.3.tgz#d0c8ffd86547c3c5bc63a9f59fe2df0ed80798d8"
integrity sha512-HNJeFevkWNJ/1Rt7pEvwyu96Z1xsKF8mwrpXCBGhEh2m+aHCMf3Oc/gq4DLmWkZ9mEPwYbTGR0fEvd8cPQlRCQ==
dependencies:
"@babel/cli" "7.14.8"
"@babel/core" "7.15.0"
@@ -2840,10 +2841,10 @@
"@babel/preset-typescript" "7.15.0"
"@babel/runtime-corejs3" "7.15.3"
"@pmmmwh/react-refresh-webpack-plugin" "0.5.0-rc.4"
"@redwoodjs/cli" "0.36.2"
"@redwoodjs/eslint-config" "0.36.2"
"@redwoodjs/internal" "0.36.2"
"@redwoodjs/testing" "0.36.2"
"@redwoodjs/cli" "0.36.3"
"@redwoodjs/eslint-config" "0.36.3"
"@redwoodjs/internal" "0.36.3"
"@redwoodjs/testing" "0.36.3"
babel-loader "8.2.2"
babel-plugin-auto-import "1.1.0"
babel-plugin-graphql-tag "3.3.0"
@@ -2881,10 +2882,10 @@
webpack-retry-chunk-load-plugin "2.2.0"
x----x----x "^0 Webpack"
"@redwoodjs/eslint-config@0.36.2":
version "0.36.2"
resolved "https://registry.yarnpkg.com/@redwoodjs/eslint-config/-/eslint-config-0.36.2.tgz#4dcdd103172e0dcd3290a6b174f8356408306ea6"
integrity sha512-QhLOnR3GL6ARluGRg2cJl/wXE+s9zvBZpguGGoC5gsrgGGCvWB3FjUvAeO6DfmfqrGbxym02JSbtB5+nm4qeNg==
"@redwoodjs/eslint-config@0.36.3":
version "0.36.3"
resolved "https://registry.yarnpkg.com/@redwoodjs/eslint-config/-/eslint-config-0.36.3.tgz#795516703971aef3abdd26661c4236f1c5116554"
integrity sha512-Gl9vFbyXJ2S5QT+pPIsTdofrXjgnaat5Ws8wssG2fBM58gRbBfj50/McMBsMVArjaZllcPLzekpC9tGlsK9zBw==
dependencies:
"@typescript-eslint/eslint-plugin" "4.29.0"
"@typescript-eslint/parser" "4.29.0"
@@ -2901,20 +2902,20 @@
eslint-plugin-react-hooks "4.2.0"
prettier "2.3.2"
"@redwoodjs/forms@^0.36.2":
version "0.36.2"
resolved "https://registry.yarnpkg.com/@redwoodjs/forms/-/forms-0.36.2.tgz#200e5145e1f8c248e0d16017b3fe05df8d1b3c13"
integrity sha512-QIfJFY8zVFs6c/p7n9Aja72lV0tmEiI0zLlasuv/SznM14sqVB96fquTSVJxPCAYoOBLgYuL0sX4V9LR0yYVuQ==
"@redwoodjs/forms@^0.36.3":
version "0.36.3"
resolved "https://registry.yarnpkg.com/@redwoodjs/forms/-/forms-0.36.3.tgz#db0256b868ea6672ab2e2ae602ab8e80a368207a"
integrity sha512-WcJzv5bBuYFkUwhbL5dn29GqltAfhwRMKyDpuqGfLFxcbtMY7uzf/ie07fh3LJgzIu/KBXv2f5aNCxzmXvDHsQ==
dependencies:
"@types/pascalcase" "1.0.0"
core-js "3.16.1"
pascalcase "1.0.0"
react-hook-form "7.12.2"
"@redwoodjs/internal@0.36.2":
version "0.36.2"
resolved "https://registry.yarnpkg.com/@redwoodjs/internal/-/internal-0.36.2.tgz#78cbddc51fd8452ec11add010bf45e2226fb3b06"
integrity sha512-twMYzLkUlcCXPW1nPxg3g0l/2ypNjF4LbPiBpHfWCOESQOPq0DJrg8/swfabW/WoHD8XXxpBWF62hjrE+JMJbA==
"@redwoodjs/internal@0.36.3":
version "0.36.3"
resolved "https://registry.yarnpkg.com/@redwoodjs/internal/-/internal-0.36.3.tgz#e3522f6ebede0f43032755e284926cf7b4d2deb7"
integrity sha512-3iLe3bJaBReabTMK6vZMckNv5LgwcBg/cTmeEAKRDjGd521yKrsuoqdjNkA1O7JvAIjUzDVOe4Q4IyfVNBTdIA==
dependencies:
"@babel/parser" "7.15.3"
"@babel/plugin-transform-typescript" "7.15.0"
@@ -2928,6 +2929,8 @@
"@graphql-codegen/typescript-operations" "2.0.1"
"@graphql-codegen/typescript-react-apollo" "3.0.0"
"@graphql-codegen/typescript-resolvers" "2.0.0"
babel-plugin-polyfill-corejs3 "0.2.4"
core-js "3.16.3"
deepmerge "4.2.2"
esbuild "0.12.21"
fast-glob "3.2.7"
@@ -2940,37 +2943,37 @@
rimraf "3.0.2"
toml "3.0.0"
"@redwoodjs/prerender@0.36.2":
version "0.36.2"
resolved "https://registry.yarnpkg.com/@redwoodjs/prerender/-/prerender-0.36.2.tgz#8949c21ece38af25575b8d3381df3b1524f0571f"
integrity sha512-YLwvrLKEpOdi0WMCxF/sA0Z7HJKhWxOqkwCebIT4seuP8tuo7L/8k0lZjO1MPFeg5E0fbEYHMl9ty7StegeI9Q==
"@redwoodjs/prerender@0.36.3":
version "0.36.3"
resolved "https://registry.yarnpkg.com/@redwoodjs/prerender/-/prerender-0.36.3.tgz#9fb7b333dd5f010faac087b8c5f90e45c1a68e87"
integrity sha512-l9vH5NG2sam+a8gBf3V4JeAXsNN4byrsN+yGwfVlef8d+aJjhdwJ1B3rE9Z0NkH99SybE11KubrWvRp+rfuHrg==
dependencies:
"@redwoodjs/auth" "0.36.2"
"@redwoodjs/internal" "0.36.2"
"@redwoodjs/router" "0.36.2"
"@redwoodjs/structure" "0.36.2"
"@redwoodjs/web" "0.36.2"
"@redwoodjs/auth" "0.36.3"
"@redwoodjs/internal" "0.36.3"
"@redwoodjs/router" "0.36.3"
"@redwoodjs/structure" "0.36.3"
"@redwoodjs/web" "0.36.3"
babel-plugin-ignore-html-and-css-imports "0.1.0"
cheerio "1.0.0-rc.10"
node-fetch "2.6.1"
"@redwoodjs/router@0.36.2", "@redwoodjs/router@^0.36.2":
version "0.36.2"
resolved "https://registry.yarnpkg.com/@redwoodjs/router/-/router-0.36.2.tgz#775f412c905437802f602728455fc5d4d88dbc03"
integrity sha512-o89YMAwqxQvGQNFsyaj4hxgiH18NBppRuIgvpWqZbBOuvGL86h33QmlJmaxN9gx3kbbQnnh+/yBJRy4bmUbOLg==
"@redwoodjs/router@0.36.3", "@redwoodjs/router@^0.36.3":
version "0.36.3"
resolved "https://registry.yarnpkg.com/@redwoodjs/router/-/router-0.36.3.tgz#f8b44953311e521f48fba22f428a89929099785f"
integrity sha512-ErslfXTkljTJtggtfE/gIfDDltOkkvqimM483VR/jldRUoanR4k3iiwAwlt3AjAA43wLjSohV+jylR6dWy3d0g==
dependencies:
"@reach/skip-nav" "0.16.0"
"@redwoodjs/auth" "0.36.2"
"@redwoodjs/auth" "0.36.3"
core-js "3.16.1"
lodash.isequal "4.5.0"
"@redwoodjs/structure@0.36.2":
version "0.36.2"
resolved "https://registry.yarnpkg.com/@redwoodjs/structure/-/structure-0.36.2.tgz#27d263fac228a08975344e476a4a4f136d8c839e"
integrity sha512-ucAsy78SQmULISDvMNir9jdrZwi377+CtdNSvixuPDXSljU8WEXJjWQabwKZuo4c9GkazFiNIoXVXqtp2l29Bw==
"@redwoodjs/structure@0.36.3":
version "0.36.3"
resolved "https://registry.yarnpkg.com/@redwoodjs/structure/-/structure-0.36.3.tgz#7351951a1719f2553920f7418e03b2b857cccb62"
integrity sha512-QY4Qm76tKUCn74zyyRdBV7CmvFXhg7WDzq2Q2m6rLOOtOaj1wo0s8ayfSWA7E5cDrYCetO/aGetAzmyUkYzIsw==
dependencies:
"@prisma/sdk" "2.29.1"
"@redwoodjs/internal" "0.36.2"
"@prisma/sdk" "2.30.0"
"@redwoodjs/internal" "0.36.3"
"@types/line-column" "1.0.0"
camelcase "6.2.0"
deepmerge "4.2.2"
@@ -2991,15 +2994,15 @@
vscode-languageserver-types "3.15.1"
yargs-parser "20.2.9"
"@redwoodjs/testing@0.36.2":
version "0.36.2"
resolved "https://registry.yarnpkg.com/@redwoodjs/testing/-/testing-0.36.2.tgz#67de6d2e2953e0ee67ce3e270465bfe76d8bd325"
integrity sha512-zxodhDtezdG2mtDV2B9dDMtO1XclalzmHAX/qugMoCQ849U4vQ9OhgW4RTgSSbrWjg6es/Ok1OLhhhNmW0502g==
"@redwoodjs/testing@0.36.3":
version "0.36.3"
resolved "https://registry.yarnpkg.com/@redwoodjs/testing/-/testing-0.36.3.tgz#9e4f669be387f9cfe0c84d9f1eb3943f94bd0366"
integrity sha512-9VdSmbO2WeOrjNCRk00cpvbYqVQ6IF5mVEreR481vEG7DyV4GdxPj1gMxBNSL+RpZRT1OeTQiMeCkw85C2UG9A==
dependencies:
"@redwoodjs/auth" "0.36.2"
"@redwoodjs/internal" "0.36.2"
"@redwoodjs/router" "0.36.2"
"@redwoodjs/web" "0.36.2"
"@redwoodjs/auth" "0.36.3"
"@redwoodjs/internal" "0.36.3"
"@redwoodjs/router" "0.36.3"
"@redwoodjs/web" "0.36.3"
"@storybook/addon-a11y" "6.3.7"
"@storybook/builder-webpack5" "6.3.7"
"@storybook/manager-webpack5" "6.3.7"
@@ -3020,13 +3023,13 @@
ts-toolbelt "9.6.0"
whatwg-fetch "3.6.2"
"@redwoodjs/web@0.36.2", "@redwoodjs/web@^0.36.2":
version "0.36.2"
resolved "https://registry.yarnpkg.com/@redwoodjs/web/-/web-0.36.2.tgz#6313cc4673d56121f61d0cba5f1cd92f3dc68541"
integrity sha512-tda4nv6YedZhqzv63lgM3mawxs5N/bb0rYAJyzMY7cEP4XYD5a6URu00KDInxB+K4WV8YZlVeEDgMqYMw8NQaw==
"@redwoodjs/web@0.36.3", "@redwoodjs/web@^0.36.3":
version "0.36.3"
resolved "https://registry.yarnpkg.com/@redwoodjs/web/-/web-0.36.3.tgz#41c8b603db869530be5512762edde21d33be033e"
integrity sha512-nOPpL5MYHWFqVmRjNB4XJSbViiRjOUfhhf6axQ54ww88A5PxWmtlJlZCiKulyyJhgnt0EjOagnWQRu/JENcL1A==
dependencies:
"@apollo/client" "3.3.21"
"@redwoodjs/auth" "0.36.2"
"@redwoodjs/auth" "0.36.3"
core-js "3.16.1"
graphql "15.5.1"
proptypes "1.1.0"
@@ -3916,6 +3919,11 @@
resolved "https://registry.yarnpkg.com/@types/aws-lambda/-/aws-lambda-8.10.77.tgz#04c4e3a06ab5552f2fa80816f8adca54b6bb9671"
integrity sha512-n0EMFJU/7u3KvHrR83l/zrKOVURXl5pUJPNED/Bzjah89QKCHwCiKCBoVUXRwTGRfCYGIDdinJaAlKDHZdp/Ng==
"@types/aws-lambda@^8.10.45":
version "8.10.83"
resolved "https://registry.yarnpkg.com/@types/aws-lambda/-/aws-lambda-8.10.83.tgz#66db06cedb7476e860e8655e4387fd2e4385433a"
integrity sha512-7YsLv/B8rF7K7jYAGmYBxLq3QU+hQV7qNJBMcSCmJCTcXuzoTKGBX8d4v9CsVs0SOKBSAErXG7rtk8jVxiP30g==
"@types/babel-core@6.25.7":
version "6.25.7"
resolved "https://registry.yarnpkg.com/@types/babel-core/-/babel-core-6.25.7.tgz#f9c22d5c085686da2f6ffbdae778edb3e6017671"
@@ -4175,6 +4183,11 @@
resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-1.8.0.tgz#682477dbbbd07cd032731cb3b0e7eaee3d026b69"
integrity sha512-2aoSC4UUbHDj2uCsCxcG/vRMXey/m17bC7UwitVm5hn22nI8O8Y9iDpA76Orc+DWkQ4zZrOKEshCqR/jSuXAHA==
"@types/http-errors@^1.6.3":
version "1.8.1"
resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-1.8.1.tgz#e81ad28a60bee0328c6d2384e029aec626f1ae67"
integrity sha512-e+2rjEwK6KDaNOm5Aa9wNGgyS9oSZU/4pfSMMPYNOfjvFI0WVXm29+ITRFr6aKDvvKo7uU1jV68MW4ScsfDi7Q==
"@types/http-proxy@^1.17.5":
version "1.17.6"
resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.6.tgz#62dc3fade227d6ac2862c8f19ee0da9da9fd8616"
@@ -5229,12 +5242,17 @@ ajv-errors@^1.0.0:
resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d"
integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==
ajv-i18n@^3.4.0:
version "3.6.0"
resolved "https://registry.yarnpkg.com/ajv-i18n/-/ajv-i18n-3.6.0.tgz#321313ce421b8a656e38e0cd2872393cab0c57ce"
integrity sha512-F21DzmzYq9aVtY8CGGtlnQDy3rFMaFW2KRlMuCQp76KiPIkvqN+mpq5MI9EsgC0VFwj+jeLIsvVCvPOa1sobBQ==
ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2:
version "3.5.2"
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5:
ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5, ajv@^6.9.1:
version "6.12.6"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
@@ -5565,21 +5583,16 @@ are-we-there-yet@~1.1.2:
delegates "^1.0.0"
readable-stream "^2.0.6"
arg@5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.0.tgz#a20e2bb5710e82950a516b3f933fee5ed478be90"
integrity sha512-4P8Zm2H+BRS+c/xX1LrHw0qKpEhdlZjLCgWy+d78T9vqa2Z2SiD2wMrYuWIAFy5IZUD7nnNXroRttz+0RzlrzQ==
arg@5.0.1, arg@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.1.tgz#eb0c9a8f77786cad2af8ff2b862899842d7b6adb"
integrity sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA==
arg@^4.1.0:
version "4.1.3"
resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
arg@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.1.tgz#eb0c9a8f77786cad2af8ff2b862899842d7b6adb"
integrity sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA==
argparse@^1.0.7:
version "1.0.10"
resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
@@ -6059,6 +6072,14 @@ babel-plugin-polyfill-corejs2@^0.2.2:
"@babel/helper-define-polyfill-provider" "^0.2.2"
semver "^6.1.1"
babel-plugin-polyfill-corejs3@0.2.4:
version "0.2.4"
resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.4.tgz#68cb81316b0e8d9d721a92e0009ec6ecd4cd2ca9"
integrity sha512-z3HnJE5TY/j4EFEa/qpQMSbcUJZ5JQi+3UFjXzn6pQCmIKc5Ug5j98SuYyH+m4xQnvKlMDIW4plLfgyVnd0IcQ==
dependencies:
"@babel/helper-define-polyfill-provider" "^0.2.2"
core-js-compat "^3.14.0"
babel-plugin-polyfill-corejs3@^0.1.0:
version "0.1.7"
resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.1.7.tgz#80449d9d6f2274912e05d9e182b54816904befd0"
@@ -7337,7 +7358,7 @@ concat-stream@^1.5.0:
readable-stream "^2.2.2"
typedarray "^0.0.6"
concurrently@6.2.1:
concurrently@6.2.1, concurrently@^6.0.0:
version "6.2.1"
resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-6.2.1.tgz#d880fc1d77559084732fa514092a3d5109a0d5bf"
integrity sha512-emgwhH+ezkuYKSHZQ+AkgEpoUZZlbpPVYCVv7YZx0r+T7fny1H03r2nYRebpi2DudHR4n1Rgbo2YTxKOxVJ4+g==
@@ -7412,7 +7433,7 @@ content-disposition@0.5.3:
dependencies:
safe-buffer "5.1.2"
content-type@~1.0.4:
content-type@^1.0.4, content-type@~1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
@@ -7507,6 +7528,11 @@ core-js@3.16.1:
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.16.1.tgz#f4485ce5c9f3c6a7cb18fa80488e08d362097249"
integrity sha512-AAkP8i35EbefU+JddyWi12AWE9f2N/qr/pwnDtWz4nyUIBGMJPX99ANFFRSw6FefM374lDujdtLDyhN2A/btHw==
core-js@3.16.3:
version "3.16.3"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.16.3.tgz#1f2d43c51a9ed014cc6c83440af14697ae4b75f2"
integrity sha512-lM3GftxzHNtPNUJg0v4pC2RC6puwMd6VZA7vXUczi+SKmCWSf4JwO89VJGMqbzmB7jlK7B5hr3S64PqwFL49cA==
core-js@3.6.5:
version "3.6.5"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.5.tgz#7395dc273af37fb2e50e9bd3d9fe841285231d1a"
@@ -7527,6 +7553,14 @@ core-util-is@~1.0.0:
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
cors@^2.8.5:
version "2.8.5"
resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29"
integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==
dependencies:
object-assign "^4"
vary "^1"
cosmiconfig-toml-loader@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/cosmiconfig-toml-loader/-/cosmiconfig-toml-loader-1.0.0.tgz#0681383651cceff918177debe9084c0d3769509b"
@@ -12125,6 +12159,11 @@ json-buffer@3.0.0:
resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898"
integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=
json-mask@^0.3.8:
version "0.3.9"
resolved "https://registry.yarnpkg.com/json-mask/-/json-mask-0.3.9.tgz#c3772baa49ceda56ca360a6dd6b479ca3c0e327f"
integrity sha512-RRu7bf7vzOohKMrU5pD9+fROMltTegWj2trZlPNr7hXekptFGkOZo4S63Jdx2X1GR7IK6rEVvXkQKY+2TPs0PA==
json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
@@ -13142,6 +13181,25 @@ micromatch@^4.0.2, micromatch@^4.0.4:
braces "^3.0.1"
picomatch "^2.2.3"
middy@^0.36.0:
version "0.36.0"
resolved "https://registry.yarnpkg.com/middy/-/middy-0.36.0.tgz#f5f2e461b2f7260e4aadd0e53ff4c828e9f7e7ba"
integrity sha512-IhIVEZQs8mxcvPHfzAQpwINj4R+aVgeCcUL9KS+OYE5Vy4hKhZtVl/1yfI8dSvDAfRBoRp6N/Gi04pxQM4vAzw==
dependencies:
"@types/aws-lambda" "^8.10.45"
"@types/http-errors" "^1.6.3"
ajv "^6.9.1"
ajv-i18n "^3.4.0"
ajv-keywords "^3.4.1"
busboy "^0.3.1"
content-type "^1.0.4"
http-errors "^1.7.3"
json-mask "^0.3.8"
negotiator "^0.6.1"
once "^1.4.0"
qs "^6.6.0"
querystring "^0.2.0"
miller-rabin@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d"
@@ -13375,7 +13433,7 @@ ms@2.1.2:
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
ms@2.1.3, ms@^2.1.1, ms@^2.1.3:
ms@2.1.3, ms@^2.1.1:
version "2.1.3"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
@@ -13445,6 +13503,11 @@ nan@^2.12.1:
resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19"
integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==
nanoid@^3.1.20:
version "3.1.25"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.25.tgz#09ca32747c0e543f0e1814b7d3793477f9c8e152"
integrity sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==
nanoid@^3.1.23:
version "3.1.23"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.23.tgz#f744086ce7c2bc47ee0a8472574d5c78e4183a81"
@@ -13479,7 +13542,7 @@ natural-compare@^1.4.0:
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
negotiator@0.6.2:
negotiator@0.6.2, negotiator@^0.6.1:
version "0.6.2"
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==
@@ -13603,7 +13666,7 @@ nodemailer@^6.6.2:
resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.6.2.tgz#e184c9ed5bee245a3e0bcabc7255866385757114"
integrity sha512-YSzu7TLbI+bsjCis/TZlAXBoM4y93HhlIgo0P5oiA2ua9Z4k+E2Fod//ybIzdJxOlXGRcHIh/WaeCBehvxZb/Q==
nodemon@2.0.12:
nodemon@2.0.12, nodemon@^2.0.7:
version "2.0.12"
resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-2.0.12.tgz#5dae4e162b617b91f1873b3bfea215dd71e144d5"
integrity sha512-egCTmNZdObdBxUBw6ZNwvZ/xzk24CKRs5K6d+5zbmrMr7rOpPmfPeF6OxM3DDpaRx331CQRFEktn+wrFFfBSOA==
@@ -13715,7 +13778,7 @@ nwsapi@^2.2.0:
resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7"
integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==
object-assign@^4.1.0, object-assign@^4.1.1:
object-assign@^4, object-assign@^4.1.0, object-assign@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
@@ -14931,12 +14994,12 @@ prettysize@^2.0.0:
resolved "https://registry.yarnpkg.com/prettysize/-/prettysize-2.0.0.tgz#902c02480d865d9cc0813011c9feb4fa02ce6996"
integrity sha512-VVtxR7sOh0VsG8o06Ttq5TrI1aiZKmC+ClSn4eBPaNf4SHr5lzbYW+kYGX3HocBL/MfpVrRfFZ9V3vCbLaiplg==
prisma@2.29.1:
version "2.29.1"
resolved "https://registry.yarnpkg.com/prisma/-/prisma-2.29.1.tgz#7845f55c7f09955b01f973c6a4b1f330cb212e7d"
integrity sha512-fRGh90+z0m3Jw3D6KBE6wyVCRR0w6M6QD93jh+em8IOQycmC48zB8hho8zeri3J9//C0k8fkDeQrRLJUosXROw==
prisma@2.30.0:
version "2.30.0"
resolved "https://registry.yarnpkg.com/prisma/-/prisma-2.30.0.tgz#5b12091c480d538540b898d364b73651d44b4a01"
integrity sha512-2XYpSibcVpMd1JDxYypGDU/JKq0W2f/HI1itdddr4Pfg+q6qxt/ItWKcftv4/lqN6u/BVlQ2gDzXVEjpHeO5kQ==
dependencies:
"@prisma/engines" "2.29.0-34.1be4cd60b89afa04b192acb1ef47758a39810f3a"
"@prisma/engines" "2.30.0-28.60b19f4a1de4fe95741da371b4c44a92f4d1adcb"
prismjs@^1.21.0, prismjs@~1.23.0:
version "1.23.0"
@@ -15283,7 +15346,7 @@ qs@6.9.3:
resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.3.tgz#bfadcd296c2d549f1dffa560619132c977f5008e"
integrity sha512-EbZYNarm6138UKKq46tdx08Yo/q9ZhFoAXAI1meAFd2GtbRDhbZY2WQSICskT0c5q99aFzLG1D4nvTk9tqfXIw==
qs@^6.10.0:
qs@^6.10.0, qs@^6.6.0:
version "6.10.1"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.1.tgz#4931482fa8d647a5aab799c5271d2133b981fb6a"
integrity sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==
@@ -16530,6 +16593,11 @@ serve-static@1.14.1:
parseurl "~1.3.3"
send "0.17.1"
serverless-binary-cors@^0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/serverless-binary-cors/-/serverless-binary-cors-0.0.1.tgz#68ff2da3b7cd59fb9513253d9b3a7fa4c71e2d5f"
integrity sha512-i37glxloiUOzeXiUpQVmYISgcHLr7TZbRgVwMLrYzPSoT0VZCPwt9o/HMY8zRJxSb7OynQpy/dUVed+5ADnuxQ==
set-blocking@^2.0.0, set-blocking@~2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
@@ -17464,10 +17532,10 @@ tar-stream@^2.1.2:
inherits "^2.0.3"
readable-stream "^3.1.1"
tar@6.1.6:
version "6.1.6"
resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.6.tgz#c23d797b0a1efe5d479b1490805c5443f3560c5d"
integrity sha512-oaWyu5dQbHaYcyZCTfyPpC+VmI62/OM2RTUYavTk1MDr1cwW5Boi3baeYQKiZbY2uSQJGr+iMOzb/JFxLrft+g==
tar@6.1.8:
version "6.1.8"
resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.8.tgz#4fc50cfe56511c538ce15b71e05eebe66530cbd4"
integrity sha512-sb9b0cp855NbkMJcskdSYA7b11Q8JsX4qe4pyUAfHp+Y6jBjJeek2ZVlwEfWayshEIwlIzXx0Fain3QG9JPm2A==
dependencies:
chownr "^2.0.0"
fs-minipass "^2.0.0"
@@ -18484,7 +18552,7 @@ value-or-promise@1.0.10:
resolved "https://registry.yarnpkg.com/value-or-promise/-/value-or-promise-1.0.10.tgz#5bf041f1e9a8e7043911875547636768a836e446"
integrity sha512-1OwTzvcfXkAfabk60UVr5NdjtjJ0Fg0T5+B1bhxtrOEwSH2fe8y4DnLgoksfCyd8yZCOQQHB0qLMQnwgCjbXLQ==
vary@~1.1.2:
vary@^1, vary@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=