some finishing touches before public
This commit is contained in:
parent
29f96aeef4
commit
7c220a63ba
20 changed files with 157 additions and 265 deletions
25
.github/workflows/CI.yml
vendored
25
.github/workflows/CI.yml
vendored
|
|
@ -1,25 +0,0 @@
|
||||||
name: CI
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches: [master]
|
|
||||||
pull_request:
|
|
||||||
branches: [master]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: [ubuntu-latest]
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
node-version: [10.x, 12.x]
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- name: Use Node.js ${{ matrix.node-version }}
|
|
||||||
uses: actions/setup-node@v1
|
|
||||||
with:
|
|
||||||
node-version: ${{ matrix.node-version }}
|
|
||||||
- run: yarn
|
|
||||||
- run: yarn build
|
|
||||||
- run: yarn test:ci
|
|
||||||
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -1,6 +1,7 @@
|
||||||
node_modules
|
node_modules
|
||||||
/coverage.data
|
/coverage.data
|
||||||
/coverage/
|
/coverage/
|
||||||
|
.vscode/
|
||||||
.next-deploy/
|
.next-deploy/
|
||||||
.next
|
.next
|
||||||
.next-deploy-tmp/
|
.next-deploy-tmp/
|
||||||
|
|
|
||||||
15
.yarnignore
Normal file
15
.yarnignore
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
__tests__
|
||||||
|
.github
|
||||||
|
.vscode
|
||||||
|
lerna.json
|
||||||
|
jest.config.js
|
||||||
|
babel.config.js
|
||||||
|
tsconfig.json
|
||||||
|
babel.config.js
|
||||||
|
CODE_OF_CONDUCT.md
|
||||||
|
.prettierrc
|
||||||
|
.eslintrc.js
|
||||||
|
.yarnignore
|
||||||
|
coverage
|
||||||
|
src
|
||||||
|
tsconfig.build.json
|
||||||
111
README.md
111
README.md
|
|
@ -1,38 +1,76 @@
|
||||||
# Serverless Nextjs Component
|
# Next Deploy
|
||||||
|
|
||||||
Effortless deployment for Next.js apps.
|
Effortless deployment for Next.js apps.
|
||||||
|
|
||||||
### Getting started
|
## Contents
|
||||||
|
|
||||||
Set your AWS credentials as environment variables:
|
- [Getting started](#Getting-started)
|
||||||
|
- [Configuration](#Configuration)
|
||||||
|
- [Advanced Configuration](#Advanced-Configuration)
|
||||||
|
- [AWS Permissions](#AWS-Permissions)
|
||||||
|
- [Options](#Options)
|
||||||
|
|
||||||
|
## Getting started
|
||||||
|
|
||||||
|
`yarn add next-deploy`
|
||||||
|
|
||||||
|
[Make sure your environment is configured to deploy.](#Configuration)
|
||||||
|
|
||||||
|
`yarn next-deploy`
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
To deploy to AWS you will need to set your credentials in your environment:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
AWS_ACCESS_KEY_ID=accesskey
|
AWS_ACCESS_KEY_ID=******
|
||||||
AWS_SECRET_ACCESS_KEY=sshhh
|
AWS_SECRET_ACCESS_KEY=******
|
||||||
```
|
```
|
||||||
|
|
||||||
And simply deploy:
|
Ensure that your account has [enough permissions to deploy](#AWS-Permissions).
|
||||||
|
|
||||||
```bash
|
## Advanced Configuration
|
||||||
$ serverless
|
|
||||||
|
The deployment configuration is to be provided through `next-deploy.config.js`, which will be automatically created for you the first time you run `yarn next-deploy`.
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
module.exports = {
|
||||||
|
debug: false,
|
||||||
|
onPreDeploy: () => console.log('⚡ Starting Deployment ⚡'),
|
||||||
|
onPostDeploy: () => console.log('✅ Deployment Complete ✅'),
|
||||||
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
### AWS Permissions
|
A more advanced configuration that sets more [configurable options](#Options):
|
||||||
|
|
||||||
By default the Lambda@Edge functions run using AWSLambdaBasicExecutionRole which only allows uploading logs to CloudWatch. If you need permissions beyond this, like for example access to DynamoDB or any other AWS resource you will need your own custom policy arn:
|
```javascript
|
||||||
|
const {
|
||||||
|
BUCKET_NAME,
|
||||||
|
LAMBDA_DESCRIPTION,
|
||||||
|
DEFAULT_LAMBDA_NAME,
|
||||||
|
API_LAMBDA_NAME,
|
||||||
|
SUBDOMAIN,
|
||||||
|
DOMAIN,
|
||||||
|
} = process.env;
|
||||||
|
|
||||||
```yml
|
module.exports = {
|
||||||
# serverless.yml
|
bucketName: BUCKET_NAME,
|
||||||
|
description: LAMBDA_DESCRIPTION,
|
||||||
myNextApplication:
|
name: {
|
||||||
component: serverless-next.js
|
defaultLambda: DEFAULT_LAMBDA_NAME,
|
||||||
inputs:
|
apiLambda: API_LAMBDA_NAME,
|
||||||
policy: 'arn:aws:iam::123456789012:policy/MyCustomPolicy'
|
},
|
||||||
|
domain: [SUBDOMAIN, DOMAIN],
|
||||||
|
onPreDeploy: () => console.log('⚡ Starting Deployment ⚡'),
|
||||||
|
onPostDeploy: () => console.log('✅ Deployment Complete ✅'),
|
||||||
|
debug: true,
|
||||||
|
build: false,
|
||||||
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
Make sure you add CloudWatch log permissions to your custom policy.
|
## AWS Permissions
|
||||||
|
|
||||||
The exhaustive list of AWS actions required for a deployment:
|
You will need the following permissions to be able to deploy:
|
||||||
|
|
||||||
```
|
```
|
||||||
"acm:DescribeCertificate", // only for custom domains
|
"acm:DescribeCertificate", // only for custom domains
|
||||||
|
|
@ -79,37 +117,8 @@ The exhaustive list of AWS actions required for a deployment:
|
||||||
"s3:PutObject"
|
"s3:PutObject"
|
||||||
```
|
```
|
||||||
|
|
||||||
### Options
|
## Options
|
||||||
|
|
||||||
| Name | Type | Default Value | Description |
|
TODO
|
||||||
| ------------- | ----------------- | ------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
||||||
| domain | `Array` | `null` | For example `['admin', 'portal.com']` |
|
|
||||||
| bucketName | `string` | `null` | Custom bucket name where static assets are stored. By default is autogenerated. |
|
|
||||||
| bucketRegion | `string` | `null` | Region where you want to host your s3 bucket. Make sure this is geographically closer to the majority of your end users to reduce latency when CloudFront proxies a request to S3. On first deployment, you may experience 307 temporary redirects if the configured region is not us-east-1. See https://aws.amazon.com/premiumsupport/knowledge-center/s3-http-307-response/ for more details. |
|
|
||||||
| nextConfigDir | `string` | `./` | Directory where your application `next.config.js` file is. This input is useful when the `serverless.yml` is not in the same directory as the next app. <br>**Note:** `nextConfigDir` should be set if `next.config.js` `distDir` is used |
|
|
||||||
| nextStaticDir | `string` | `./` | If your `static` or `public` directory is not a direct child of `nextConfigDir` this is needed |
|
|
||||||
| description | `string` | `*lambda-type*@Edge for Next CloudFront distribution` | The description that will be used for both lambdas. Note that "(API)" will be appended to the API lambda description. |
|
|
||||||
| policy | `string` | `arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole` | The arn policy that will be assigned to both lambdas. |
|
|
||||||
| runtime | `string\|object` | `nodejs12.x` | When assigned a value, both the default and api lambdas will be assigned the runtime defined in the value. When assigned to an object, values for the default and api lambdas can be separately defined | |
|
|
||||||
| memory | `number\|object` | `512` | When assigned a number, both the default and api lambdas will be assigned memory of that value. When assigned to an object, values for the default and api lambdas can be separately defined | |
|
|
||||||
| timeout | `number\|object` | `10` | Same as above |
|
|
||||||
| name | `string\|object` | / | When assigned a string, both the default and api lambdas will assigned name of that value. When assigned to an object, values for the default and api lambdas can be separately defined |
|
|
||||||
| build | `boolean\|object` | `true` | When true builds and deploys app, when false assume the app has been built and uses the `.next` `.serverless_nextjs` directories in `nextConfigDir` to deploy. If an object is passed `build` allows for overriding what script gets called and with what arguments. |
|
|
||||||
| build.cmd | `string` | `node_modules/.bin/next` | Build command |
|
|
||||||
| build.args | `Array\|string` | `['build']` | Arguments to pass to the build |
|
|
||||||
| build.cwd | `string` | `./` | Override the current working directory |
|
|
||||||
| build.enabled | `boolean` | `true` | Same as passing `build:false` but from within the config |
|
|
||||||
|
|
||||||
| cloudfront | `object` | `{}` | Inputs to be passed to [aws-cloudfront](https://github.com/serverless-components/aws-cloudfront) |
|
The next-deploy.config.js config is a combination of BaseDeploymentOptions and AwsComponentInputs types.
|
||||||
| domainType | `string` | `"both"` | Can be one of: `"apex"` - apex domain only, don't create a www subdomain. `"www"` - www domain only, don't create an apex subdomain.`"both"` - create both www and apex domains when either one is provided. |
|
|
||||||
| publicDirectoryCache | `boolean\|object` | `true` | Customize the `public`/`static` folder asset caching policy. Assigning an object with `value` and/or `test` lets you customize the caching policy and the types of files being cached. Assigning false disables caching |
|
|
||||||
| verbose | `boolean` | `false` | Print verbose output to the console. |
|
|
||||||
|
|
||||||
Custom inputs can be configured like this:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
myNextApp:
|
|
||||||
component: serverless-next.js
|
|
||||||
inputs:
|
|
||||||
bucketName: my-bucket
|
|
||||||
```
|
|
||||||
|
|
|
||||||
17
package.json
17
package.json
|
|
@ -1,27 +1,21 @@
|
||||||
{
|
{
|
||||||
"name": "next-deploy",
|
"name": "next-deploy",
|
||||||
"version": "0.0.1",
|
"version": "0.0.3",
|
||||||
"description": "Effortless deployment for Next.js apps.",
|
"description": "Effortless deployment for Next.js apps.",
|
||||||
"author": "Nidratech Ltd. <egor@nidratech.com>",
|
"author": "Nidratech Ltd. <egor@nidratech.com>",
|
||||||
"main": "index.js",
|
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"next",
|
"next",
|
||||||
"deploy",
|
"deploy",
|
||||||
"serverless",
|
|
||||||
"nextjs",
|
"nextjs",
|
||||||
|
"serverless",
|
||||||
"lambda",
|
"lambda",
|
||||||
"cloudfront",
|
"cloudfront",
|
||||||
"edge"
|
"edge"
|
||||||
],
|
],
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "jest --runInBand --watch",
|
"test": "jest --runInBand --watch --collect-coverage=false",
|
||||||
"test:ci": "jest --runInBand",
|
"test:ci": "jest --runInBand",
|
||||||
"build": "lerna exec -- yarn",
|
"build": "lerna exec -- yarn"
|
||||||
"test:watch": "yarn test --watch --collect-coverage=false",
|
|
||||||
"publish": "lerna publish --conventional-commits",
|
|
||||||
"prepublishOnly": "yarn test",
|
|
||||||
"prerelease": "lerna publish --conventional-commits --conventional-prerelease",
|
|
||||||
"graduate": "lerna publish --conventional-commits --conventional-graduate"
|
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"next-deploy": "./packages/cli/dist/index.js"
|
"next-deploy": "./packages/cli/dist/index.js"
|
||||||
|
|
@ -44,6 +38,7 @@
|
||||||
"@next-deploy/aws-lambda-builder": "link:./packages/aws-lambda-builder",
|
"@next-deploy/aws-lambda-builder": "link:./packages/aws-lambda-builder",
|
||||||
"@types/archiver": "^3.1.0",
|
"@types/archiver": "^3.1.0",
|
||||||
"@types/aws-lambda": "^8.10.58",
|
"@types/aws-lambda": "^8.10.58",
|
||||||
|
"@types/death": "^1.1.0",
|
||||||
"@types/execa": "^2.0.0",
|
"@types/execa": "^2.0.0",
|
||||||
"@types/fs-extra": "^9.0.1",
|
"@types/fs-extra": "^9.0.1",
|
||||||
"@types/jest": "^26.0.4",
|
"@types/jest": "^26.0.4",
|
||||||
|
|
@ -58,7 +53,7 @@
|
||||||
"@types/webpack": "^4.41.21",
|
"@types/webpack": "^4.41.21",
|
||||||
"@typescript-eslint/eslint-plugin": "^3.6.0",
|
"@typescript-eslint/eslint-plugin": "^3.6.0",
|
||||||
"@typescript-eslint/parser": "^3.6.0",
|
"@typescript-eslint/parser": "^3.6.0",
|
||||||
"aws-sdk": "^2.712.0",
|
"aws-sdk": "^2.713.0",
|
||||||
"eslint": "^7.4.0",
|
"eslint": "^7.4.0",
|
||||||
"eslint-config-prettier": "^6.11.0",
|
"eslint-config-prettier": "^6.11.0",
|
||||||
"eslint-plugin-prettier": "^3.1.4",
|
"eslint-plugin-prettier": "^3.1.4",
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@serverless/core": "^1.1.2",
|
"@serverless/core": "^1.1.2",
|
||||||
"aws-sdk": "^2.712.0",
|
"aws-sdk": "^2.713.0",
|
||||||
"ramda": "^0.27.0"
|
"ramda": "^0.27.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
|
|
||||||
|
|
@ -37,10 +37,10 @@ at-least-node@^1.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"
|
resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"
|
||||||
integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
|
integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
|
||||||
|
|
||||||
aws-sdk@^2.712.0:
|
aws-sdk@^2.713.0:
|
||||||
version "2.712.0"
|
version "2.713.0"
|
||||||
resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.712.0.tgz#828d6ef7556f4b5098c880469ff72195a83f9d66"
|
resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.713.0.tgz#e87404ddcba093d36afafb48f119ec66f654a83f"
|
||||||
integrity sha512-C3SLWanFydoWJwtKNi73BG9uB6UzrUuECaAiplOEVBltO/R4sBsHWhwTBuxS02eTNdRrgulu19bJ5RWt+OuXiA==
|
integrity sha512-axR1eOVn134KXJc1IT+Au2TXcK6oswY+4nvGe5GfU3pXeehhe0xNeP9Bw9yF36TRBxuvu4IJ2hRHDKma05smgA==
|
||||||
dependencies:
|
dependencies:
|
||||||
buffer "4.9.2"
|
buffer "4.9.2"
|
||||||
events "1.1.1"
|
events "1.1.1"
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@serverless/core": "^1.1.2",
|
"@serverless/core": "^1.1.2",
|
||||||
"aws-sdk": "^2.712.0"
|
"aws-sdk": "^2.713.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"typescript": "^3.9.6"
|
"typescript": "^3.9.6"
|
||||||
|
|
|
||||||
|
|
@ -32,10 +32,10 @@ argparse@^1.0.7:
|
||||||
dependencies:
|
dependencies:
|
||||||
sprintf-js "~1.0.2"
|
sprintf-js "~1.0.2"
|
||||||
|
|
||||||
aws-sdk@^2.712.0:
|
aws-sdk@^2.713.0:
|
||||||
version "2.712.0"
|
version "2.713.0"
|
||||||
resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.712.0.tgz#828d6ef7556f4b5098c880469ff72195a83f9d66"
|
resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.713.0.tgz#e87404ddcba093d36afafb48f119ec66f654a83f"
|
||||||
integrity sha512-C3SLWanFydoWJwtKNi73BG9uB6UzrUuECaAiplOEVBltO/R4sBsHWhwTBuxS02eTNdRrgulu19bJ5RWt+OuXiA==
|
integrity sha512-axR1eOVn134KXJc1IT+Au2TXcK6oswY+4nvGe5GfU3pXeehhe0xNeP9Bw9yF36TRBxuvu4IJ2hRHDKma05smgA==
|
||||||
dependencies:
|
dependencies:
|
||||||
buffer "4.9.2"
|
buffer "4.9.2"
|
||||||
events "1.1.1"
|
events "1.1.1"
|
||||||
|
|
|
||||||
|
|
@ -9,8 +9,8 @@
|
||||||
"build": "tsc -p tsconfig.build.json"
|
"build": "tsc -p tsconfig.build.json"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@zeit/node-file-trace": "^0.6.5",
|
"@zeit/node-file-trace": "^0.7.0",
|
||||||
"execa": "^4.0.2",
|
"execa": "^4.0.3",
|
||||||
"fs-extra": "^9.0.1",
|
"fs-extra": "^9.0.1",
|
||||||
"path-to-regexp": "^6.1.0"
|
"path-to-regexp": "^6.1.0"
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -2,10 +2,10 @@
|
||||||
# yarn lockfile v1
|
# yarn lockfile v1
|
||||||
|
|
||||||
|
|
||||||
"@zeit/node-file-trace@^0.6.5":
|
"@zeit/node-file-trace@^0.7.0":
|
||||||
version "0.6.5"
|
version "0.7.0"
|
||||||
resolved "https://registry.yarnpkg.com/@zeit/node-file-trace/-/node-file-trace-0.6.5.tgz#ffd443e4648eb88591c53b1a871a47bff651b62e"
|
resolved "https://registry.yarnpkg.com/@zeit/node-file-trace/-/node-file-trace-0.7.0.tgz#c63f2b5d8687e6a6cbd563245d3883ccaa71f81e"
|
||||||
integrity sha512-PbxtiZBU+axKtR9dU2/iQgK9+aP/ip94SqI/FCMWppmFPGlxGKHf8UnJZskFuqLZeWWzL+L+8SeipsNHATO9nw==
|
integrity sha512-wVdNCwbW9ax6CXL9vTrociSePyklyjcjxviXZrlqQdpqq8plx4Pe7ulXSu3WExHnKl8Gs0HqabB1Tgxi/spMuA==
|
||||||
dependencies:
|
dependencies:
|
||||||
acorn "^7.1.1"
|
acorn "^7.1.1"
|
||||||
acorn-class-fields "^0.3.2"
|
acorn-class-fields "^0.3.2"
|
||||||
|
|
@ -191,10 +191,10 @@ estree-walker@^0.6.0, estree-walker@^0.6.1:
|
||||||
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362"
|
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362"
|
||||||
integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==
|
integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==
|
||||||
|
|
||||||
execa@^4.0.2:
|
execa@^4.0.3:
|
||||||
version "4.0.2"
|
version "4.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/execa/-/execa-4.0.2.tgz#ad87fb7b2d9d564f70d2b62d511bee41d5cbb240"
|
resolved "https://registry.yarnpkg.com/execa/-/execa-4.0.3.tgz#0a34dabbad6d66100bd6f2c576c8669403f317f2"
|
||||||
integrity sha512-QI2zLa6CjGWdiQsmSkZoGtDx2N+cQIGb3yNolGTdjSQzydzLgYYf8LRuagp7S7fPimjcrzUDSUFd/MgzELMi4Q==
|
integrity sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A==
|
||||||
dependencies:
|
dependencies:
|
||||||
cross-spawn "^7.0.0"
|
cross-spawn "^7.0.0"
|
||||||
get-stream "^5.0.0"
|
get-stream "^5.0.0"
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
"build": "tsc -p tsconfig.build.json"
|
"build": "tsc -p tsconfig.build.json"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"aws-sdk": "^2.712.0",
|
"aws-sdk": "^2.713.0",
|
||||||
"fs-extra": "^9.0.1",
|
"fs-extra": "^9.0.1",
|
||||||
"klaw": "^3.0.0",
|
"klaw": "^3.0.0",
|
||||||
"klaw-sync": "^6.0.0",
|
"klaw-sync": "^6.0.0",
|
||||||
|
|
|
||||||
|
|
@ -1380,10 +1380,10 @@ atob@^2.1.2:
|
||||||
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
|
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
|
||||||
integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
|
integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
|
||||||
|
|
||||||
aws-sdk@^2.712.0:
|
aws-sdk@^2.713.0:
|
||||||
version "2.712.0"
|
version "2.713.0"
|
||||||
resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.712.0.tgz#828d6ef7556f4b5098c880469ff72195a83f9d66"
|
resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.713.0.tgz#e87404ddcba093d36afafb48f119ec66f654a83f"
|
||||||
integrity sha512-C3SLWanFydoWJwtKNi73BG9uB6UzrUuECaAiplOEVBltO/R4sBsHWhwTBuxS02eTNdRrgulu19bJ5RWt+OuXiA==
|
integrity sha512-axR1eOVn134KXJc1IT+Au2TXcK6oswY+4nvGe5GfU3pXeehhe0xNeP9Bw9yF36TRBxuvu4IJ2hRHDKma05smgA==
|
||||||
dependencies:
|
dependencies:
|
||||||
buffer "4.9.2"
|
buffer "4.9.2"
|
||||||
events "1.1.1"
|
events "1.1.1"
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,6 @@
|
||||||
"@next-deploy/aws-component": "link:../aws-component",
|
"@next-deploy/aws-component": "link:../aws-component",
|
||||||
"fs-extra": "^9.0.1",
|
"fs-extra": "^9.0.1",
|
||||||
"minimist": "^1.2.5",
|
"minimist": "^1.2.5",
|
||||||
"ora": "^4.0.4",
|
|
||||||
"prettyoutput": "^1.2.0"
|
"prettyoutput": "^1.2.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
|
|
||||||
|
|
@ -5,4 +5,4 @@ export const SUPPORTED_ENGINES = [
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
export const DEFAULT_ENGINE = 'aws';
|
export const DEFAULT_ENGINE = 'aws';
|
||||||
export const DEPLOY_CONFIG_NAME = 'deploy.config.js';
|
export const DEPLOY_CONFIG_NAME = 'next-deploy.config.js';
|
||||||
|
|
|
||||||
|
|
@ -269,7 +269,7 @@ class Context {
|
||||||
|
|
||||||
content += ` ${this.metrics.entity}`;
|
content += ` ${this.metrics.entity}`;
|
||||||
content += ` ${grey(figures.pointerSmall)} ${grey(this.metrics.status.message)}`;
|
content += ` ${grey(figures.pointerSmall)} ${grey(this.metrics.status.message)}`;
|
||||||
content += ` ${grey(this.metrics.status.loadingDots)}`;
|
content += `${grey(this.metrics.status.loadingDots)}`;
|
||||||
process.stdout.write(content);
|
process.stdout.write(content);
|
||||||
console.log();
|
console.log();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,10 @@
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import ora from 'ora';
|
|
||||||
|
|
||||||
import { BaseDeploymentOptions } from '../types';
|
import { BaseDeploymentOptions } from '../types';
|
||||||
import { DEFAULT_ENGINE, SUPPORTED_ENGINES } from './config';
|
import { DEFAULT_ENGINE, SUPPORTED_ENGINES } from './config';
|
||||||
import Context from './context';
|
import Context from './context';
|
||||||
import { getColor } from './utils';
|
|
||||||
|
|
||||||
const METHOD_NAME_MAP = [
|
const METHOD_NAME_MAP = ['default', 'build', 'deploy', 'remove'];
|
||||||
{ name: 'default', action: 'Deploying...' },
|
|
||||||
{ name: 'build', action: 'Building...' },
|
|
||||||
{ name: 'deploy', action: 'Deploying...' },
|
|
||||||
{ name: 'remove', action: 'Removing...' },
|
|
||||||
];
|
|
||||||
|
|
||||||
const deploy = async (deployConfigPath: string, methodName = 'default'): Promise<void> => {
|
const deploy = async (deployConfigPath: string, methodName = 'default'): Promise<void> => {
|
||||||
const {
|
const {
|
||||||
|
|
@ -26,7 +19,7 @@ const deploy = async (deployConfigPath: string, methodName = 'default'): Promise
|
||||||
root: process.cwd(),
|
root: process.cwd(),
|
||||||
stateRoot: path.join(process.cwd(), '.next-deploy'),
|
stateRoot: path.join(process.cwd(), '.next-deploy'),
|
||||||
debug,
|
debug,
|
||||||
entity: engine,
|
entity: engine.toUpperCase(),
|
||||||
});
|
});
|
||||||
|
|
||||||
if (engineIndex === -1) {
|
if (engineIndex === -1) {
|
||||||
|
|
@ -40,39 +33,24 @@ const deploy = async (deployConfigPath: string, methodName = 'default'): Promise
|
||||||
try {
|
try {
|
||||||
const EngineComponent = await import(SUPPORTED_ENGINES[engineIndex].component);
|
const EngineComponent = await import(SUPPORTED_ENGINES[engineIndex].component);
|
||||||
const component = new EngineComponent.default(undefined, context);
|
const component = new EngineComponent.default(undefined, context);
|
||||||
const method = METHOD_NAME_MAP.find(({ name }) => name === methodName);
|
|
||||||
const spinner = ora(method?.action);
|
|
||||||
let intervalHandle: NodeJS.Timeout | undefined = undefined;
|
|
||||||
|
|
||||||
if (!method) {
|
if (!METHOD_NAME_MAP.includes(methodName)) {
|
||||||
throw Error(
|
throw Error(`Unsupported method ${methodName}. Try one of: ${METHOD_NAME_MAP.join(', ')}.`);
|
||||||
`Unsupported method ${method}. Try one of: ${METHOD_NAME_MAP.map(({ name }) => name).join(
|
|
||||||
', '
|
|
||||||
)}.`
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
onPreDeploy && (await onPreDeploy());
|
onPreDeploy && (await onPreDeploy());
|
||||||
|
|
||||||
await component.init();
|
await component.init();
|
||||||
|
|
||||||
if (!debug) {
|
context.metrics.lastDebugTime = new Date().getTime();
|
||||||
spinner.color = 'yellow';
|
context.statusEngineStart();
|
||||||
|
|
||||||
intervalHandle = setInterval(() => {
|
const outputs = await component[methodName](componentOptions);
|
||||||
spinner.color = getColor(spinner?.color);
|
|
||||||
}, 2000);
|
|
||||||
spinner.start();
|
|
||||||
}
|
|
||||||
|
|
||||||
component.context.instance.metrics.lastDebugTime = new Date().getTime();
|
|
||||||
|
|
||||||
const outputs = await component[method.name](componentOptions);
|
|
||||||
|
|
||||||
intervalHandle && clearInterval(intervalHandle);
|
|
||||||
spinner.stop();
|
|
||||||
|
|
||||||
context.renderOutputs(outputs);
|
context.renderOutputs(outputs);
|
||||||
|
|
||||||
|
console.log();
|
||||||
|
|
||||||
onPostDeploy && (await onPostDeploy());
|
onPostDeploy && (await onPostDeploy());
|
||||||
|
|
||||||
context.close('done');
|
context.close('done');
|
||||||
|
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
import { Color } from 'ora';
|
|
||||||
|
|
||||||
export const getColor = function (currentColor?: Color): Color {
|
|
||||||
const colors: Color[] = ['red', 'green', 'yellow', 'blue', 'magenta', 'cyan', 'white', 'gray'];
|
|
||||||
const randomColor = colors[Math.floor(Math.random() * colors.length)];
|
|
||||||
|
|
||||||
if (randomColor === currentColor) {
|
|
||||||
return getColor(currentColor);
|
|
||||||
}
|
|
||||||
|
|
||||||
return randomColor;
|
|
||||||
};
|
|
||||||
|
|
@ -2121,14 +2121,6 @@ chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2:
|
||||||
escape-string-regexp "^1.0.5"
|
escape-string-regexp "^1.0.5"
|
||||||
supports-color "^5.3.0"
|
supports-color "^5.3.0"
|
||||||
|
|
||||||
chalk@^3.0.0:
|
|
||||||
version "3.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4"
|
|
||||||
integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==
|
|
||||||
dependencies:
|
|
||||||
ansi-styles "^4.1.0"
|
|
||||||
supports-color "^7.1.0"
|
|
||||||
|
|
||||||
chokidar@2.1.8, chokidar@^2.1.8:
|
chokidar@2.1.8, chokidar@^2.1.8:
|
||||||
version "2.1.8"
|
version "2.1.8"
|
||||||
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917"
|
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917"
|
||||||
|
|
@ -2203,18 +2195,6 @@ clean-stack@^2.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
|
resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
|
||||||
integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
|
integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
|
||||||
|
|
||||||
cli-cursor@^3.1.0:
|
|
||||||
version "3.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307"
|
|
||||||
integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==
|
|
||||||
dependencies:
|
|
||||||
restore-cursor "^3.1.0"
|
|
||||||
|
|
||||||
cli-spinners@^2.2.0:
|
|
||||||
version "2.3.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.3.0.tgz#0632239a4b5aa4c958610142c34bb7a651fc8df5"
|
|
||||||
integrity sha512-Xs2Hf2nzrvJMFKimOR7YR0QwZ8fc0u98kdtwN1eNAZzNQgH3vK2pXzff6GJtKh7S5hoJ87ECiAiZFS2fb5Ii2w==
|
|
||||||
|
|
||||||
clone-deep@^4.0.1:
|
clone-deep@^4.0.1:
|
||||||
version "4.0.1"
|
version "4.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387"
|
resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387"
|
||||||
|
|
@ -2231,11 +2211,6 @@ clone-response@^1.0.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
mimic-response "^1.0.0"
|
mimic-response "^1.0.0"
|
||||||
|
|
||||||
clone@^1.0.2:
|
|
||||||
version "1.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
|
|
||||||
integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4=
|
|
||||||
|
|
||||||
coa@^2.0.2:
|
coa@^2.0.2:
|
||||||
version "2.0.2"
|
version "2.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3"
|
resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3"
|
||||||
|
|
@ -2732,13 +2707,6 @@ deep-extend@^0.6.0:
|
||||||
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
|
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
|
||||||
integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
|
integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
|
||||||
|
|
||||||
defaults@^1.0.3:
|
|
||||||
version "1.0.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d"
|
|
||||||
integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=
|
|
||||||
dependencies:
|
|
||||||
clone "^1.0.2"
|
|
||||||
|
|
||||||
defer-to-connect@^1.0.1:
|
defer-to-connect@^1.0.1:
|
||||||
version "1.1.3"
|
version "1.1.3"
|
||||||
resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591"
|
resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591"
|
||||||
|
|
@ -3859,11 +3827,6 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
is-extglob "^2.1.1"
|
is-extglob "^2.1.1"
|
||||||
|
|
||||||
is-interactive@^1.0.0:
|
|
||||||
version "1.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e"
|
|
||||||
integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==
|
|
||||||
|
|
||||||
is-number@^3.0.0:
|
is-number@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
|
resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
|
||||||
|
|
@ -4211,13 +4174,6 @@ lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14:
|
||||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
|
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
|
||||||
integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
|
integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
|
||||||
|
|
||||||
log-symbols@^3.0.0:
|
|
||||||
version "3.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4"
|
|
||||||
integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==
|
|
||||||
dependencies:
|
|
||||||
chalk "^2.4.2"
|
|
||||||
|
|
||||||
loose-envify@^1.0.0, loose-envify@^1.4.0:
|
loose-envify@^1.0.0, loose-envify@^1.4.0:
|
||||||
version "1.4.0"
|
version "1.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
|
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
|
||||||
|
|
@ -4511,11 +4467,6 @@ ms@^2.1.1:
|
||||||
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
|
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
|
||||||
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
|
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
|
||||||
|
|
||||||
mute-stream@0.0.8:
|
|
||||||
version "0.0.8"
|
|
||||||
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d"
|
|
||||||
integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==
|
|
||||||
|
|
||||||
nan@^2.12.1:
|
nan@^2.12.1:
|
||||||
version "2.14.1"
|
version "2.14.1"
|
||||||
resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01"
|
resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01"
|
||||||
|
|
@ -4861,20 +4812,6 @@ onetime@^5.1.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
mimic-fn "^2.1.0"
|
mimic-fn "^2.1.0"
|
||||||
|
|
||||||
ora@^4.0.4:
|
|
||||||
version "4.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/ora/-/ora-4.0.4.tgz#e8da697cc5b6a47266655bf68e0fb588d29a545d"
|
|
||||||
integrity sha512-77iGeVU1cIdRhgFzCK8aw1fbtT1B/iZAvWjS+l/o1x0RShMgxHUZaD2yDpWsNCPwXg9z1ZA78Kbdvr8kBmG/Ww==
|
|
||||||
dependencies:
|
|
||||||
chalk "^3.0.0"
|
|
||||||
cli-cursor "^3.1.0"
|
|
||||||
cli-spinners "^2.2.0"
|
|
||||||
is-interactive "^1.0.0"
|
|
||||||
log-symbols "^3.0.0"
|
|
||||||
mute-stream "0.0.8"
|
|
||||||
strip-ansi "^6.0.0"
|
|
||||||
wcwidth "^1.0.1"
|
|
||||||
|
|
||||||
os-browserify@^0.3.0:
|
os-browserify@^0.3.0:
|
||||||
version "0.3.0"
|
version "0.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
|
resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
|
||||||
|
|
@ -5817,14 +5754,6 @@ responselike@^1.0.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
lowercase-keys "^1.0.0"
|
lowercase-keys "^1.0.0"
|
||||||
|
|
||||||
restore-cursor@^3.1.0:
|
|
||||||
version "3.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e"
|
|
||||||
integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==
|
|
||||||
dependencies:
|
|
||||||
onetime "^5.1.0"
|
|
||||||
signal-exit "^3.0.2"
|
|
||||||
|
|
||||||
ret@~0.1.10:
|
ret@~0.1.10:
|
||||||
version "0.1.15"
|
version "0.1.15"
|
||||||
resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
|
resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
|
||||||
|
|
@ -6289,7 +6218,7 @@ string_decoder@~1.1.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
safe-buffer "~5.1.0"
|
safe-buffer "~5.1.0"
|
||||||
|
|
||||||
strip-ansi@6.0.0, strip-ansi@^6.0.0:
|
strip-ansi@6.0.0:
|
||||||
version "6.0.0"
|
version "6.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532"
|
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532"
|
||||||
integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==
|
integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==
|
||||||
|
|
@ -6789,13 +6718,6 @@ watchpack@^1.6.1:
|
||||||
chokidar "^3.4.0"
|
chokidar "^3.4.0"
|
||||||
watchpack-chokidar2 "^2.0.0"
|
watchpack-chokidar2 "^2.0.0"
|
||||||
|
|
||||||
wcwidth@^1.0.1:
|
|
||||||
version "1.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8"
|
|
||||||
integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=
|
|
||||||
dependencies:
|
|
||||||
defaults "^1.0.3"
|
|
||||||
|
|
||||||
web-vitals@0.2.1:
|
web-vitals@0.2.1:
|
||||||
version "0.2.1"
|
version "0.2.1"
|
||||||
resolved "https://registry.yarnpkg.com/web-vitals/-/web-vitals-0.2.1.tgz#60782fa690243fe35613759a0c26431f57ba7b2d"
|
resolved "https://registry.yarnpkg.com/web-vitals/-/web-vitals-0.2.1.tgz#60782fa690243fe35613759a0c26431f57ba7b2d"
|
||||||
|
|
|
||||||
64
yarn.lock
64
yarn.lock
|
|
@ -2168,7 +2168,7 @@
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@serverless/core" "^1.1.2"
|
"@serverless/core" "^1.1.2"
|
||||||
aws-sdk "^2.712.0"
|
aws-sdk "^2.713.0"
|
||||||
ramda "^0.27.0"
|
ramda "^0.27.0"
|
||||||
|
|
||||||
"@next-deploy/aws-component@link:./packages/aws-component":
|
"@next-deploy/aws-component@link:./packages/aws-component":
|
||||||
|
|
@ -2182,8 +2182,8 @@
|
||||||
"@next-deploy/aws-lambda-builder@link:./packages/aws-lambda-builder":
|
"@next-deploy/aws-lambda-builder@link:./packages/aws-lambda-builder":
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@zeit/node-file-trace" "^0.6.5"
|
"@zeit/node-file-trace" "^0.7.0"
|
||||||
execa "^4.0.2"
|
execa "^4.0.3"
|
||||||
fs-extra "^9.0.1"
|
fs-extra "^9.0.1"
|
||||||
path-to-regexp "^6.1.0"
|
path-to-regexp "^6.1.0"
|
||||||
|
|
||||||
|
|
@ -2497,6 +2497,11 @@
|
||||||
resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
|
resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
|
||||||
integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==
|
integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==
|
||||||
|
|
||||||
|
"@types/death@^1.1.0":
|
||||||
|
version "1.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/death/-/death-1.1.0.tgz#314e4137a3ad71a30089271f340831f90190e007"
|
||||||
|
integrity sha512-etjyR7/GmUH8W4LWRQ1JsUex7RefjHqjNzPlCD/rZg0jB6pfARp9Exk9nCqPvo7H2YXXdAMtfLyilCnSo3/TpA==
|
||||||
|
|
||||||
"@types/eslint-visitor-keys@^1.0.0":
|
"@types/eslint-visitor-keys@^1.0.0":
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d"
|
resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d"
|
||||||
|
|
@ -2929,10 +2934,10 @@
|
||||||
resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d"
|
resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d"
|
||||||
integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==
|
integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==
|
||||||
|
|
||||||
"@zeit/node-file-trace@^0.6.5":
|
"@zeit/node-file-trace@^0.7.0":
|
||||||
version "0.6.5"
|
version "0.7.0"
|
||||||
resolved "https://registry.yarnpkg.com/@zeit/node-file-trace/-/node-file-trace-0.6.5.tgz#ffd443e4648eb88591c53b1a871a47bff651b62e"
|
resolved "https://registry.yarnpkg.com/@zeit/node-file-trace/-/node-file-trace-0.7.0.tgz#c63f2b5d8687e6a6cbd563245d3883ccaa71f81e"
|
||||||
integrity sha512-PbxtiZBU+axKtR9dU2/iQgK9+aP/ip94SqI/FCMWppmFPGlxGKHf8UnJZskFuqLZeWWzL+L+8SeipsNHATO9nw==
|
integrity sha512-wVdNCwbW9ax6CXL9vTrociSePyklyjcjxviXZrlqQdpqq8plx4Pe7ulXSu3WExHnKl8Gs0HqabB1Tgxi/spMuA==
|
||||||
dependencies:
|
dependencies:
|
||||||
acorn "^7.1.1"
|
acorn "^7.1.1"
|
||||||
acorn-class-fields "^0.3.2"
|
acorn-class-fields "^0.3.2"
|
||||||
|
|
@ -3418,10 +3423,10 @@ atob@^2.1.2:
|
||||||
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
|
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
|
||||||
integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
|
integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
|
||||||
|
|
||||||
aws-sdk@^2.387.0, aws-sdk@^2.488.0, aws-sdk@^2.712.0:
|
aws-sdk@^2.387.0, aws-sdk@^2.488.0, aws-sdk@^2.713.0:
|
||||||
version "2.712.0"
|
version "2.713.0"
|
||||||
resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.712.0.tgz#828d6ef7556f4b5098c880469ff72195a83f9d66"
|
resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.713.0.tgz#e87404ddcba093d36afafb48f119ec66f654a83f"
|
||||||
integrity sha512-C3SLWanFydoWJwtKNi73BG9uB6UzrUuECaAiplOEVBltO/R4sBsHWhwTBuxS02eTNdRrgulu19bJ5RWt+OuXiA==
|
integrity sha512-axR1eOVn134KXJc1IT+Au2TXcK6oswY+4nvGe5GfU3pXeehhe0xNeP9Bw9yF36TRBxuvu4IJ2hRHDKma05smgA==
|
||||||
dependencies:
|
dependencies:
|
||||||
buffer "4.9.2"
|
buffer "4.9.2"
|
||||||
events "1.1.1"
|
events "1.1.1"
|
||||||
|
|
@ -3988,9 +3993,9 @@ caniuse-api@^3.0.0:
|
||||||
lodash.uniq "^4.5.0"
|
lodash.uniq "^4.5.0"
|
||||||
|
|
||||||
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001043, caniuse-lite@^1.0.30001093:
|
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001043, caniuse-lite@^1.0.30001093:
|
||||||
version "1.0.30001096"
|
version "1.0.30001097"
|
||||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001096.tgz#5a4541af5317dc21f91f5b24d453030a35f919c0"
|
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001097.tgz#1129c40c9f5ee3282158da08fd915d301f4a9bd8"
|
||||||
integrity sha512-PFTw9UyVfbkcMEFs82q8XVlRayj7HKvnhu5BLcmjGpv+SNyiWasCcWXPGJuO0rK0dhLRDJmtZcJ+LHUfypbw1w==
|
integrity sha512-TeuSleKt/vWXaPkLVFqGDnbweYfq4IaZ6rUugFf3rWY6dlII8StUZ8Ddin0PkADfgYZ4wRqCdO2ORl4Rn5eZIA==
|
||||||
|
|
||||||
capture-exit@^2.0.0:
|
capture-exit@^2.0.0:
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
|
|
@ -5212,9 +5217,9 @@ ecc-jsbn@~0.1.1:
|
||||||
safer-buffer "^2.1.0"
|
safer-buffer "^2.1.0"
|
||||||
|
|
||||||
electron-to-chromium@^1.3.413, electron-to-chromium@^1.3.488:
|
electron-to-chromium@^1.3.413, electron-to-chromium@^1.3.488:
|
||||||
version "1.3.494"
|
version "1.3.495"
|
||||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.494.tgz#0d2dba65b69d696c5b71abb37552ff055fb32a5c"
|
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.495.tgz#7c8284119bcd2c27e5968f2054296e57318dcc21"
|
||||||
integrity sha512-EOZuaDT3L1sCIMAVN5J0nGuGWVq5dThrdl0d8XeDYf4MOzbXqZ19OLKesN8TZj0RxtpYjqHpiw/fR6BKWdMwYA==
|
integrity sha512-cIPX+4Y3RH/+SoqYd168Rx//CnjsZSdF3XTUhwMf3dwYuTfvWIgmmy6s1ipptGaOA+scH2Vj57Mc9fqp/ho22Q==
|
||||||
|
|
||||||
elliptic@^6.0.0, elliptic@^6.5.2:
|
elliptic@^6.0.0, elliptic@^6.5.2:
|
||||||
version "6.5.3"
|
version "6.5.3"
|
||||||
|
|
@ -5564,7 +5569,7 @@ exec-sh@^0.3.2:
|
||||||
resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5"
|
resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5"
|
||||||
integrity sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==
|
integrity sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==
|
||||||
|
|
||||||
execa@*, execa@^4.0.0, execa@^4.0.1, execa@^4.0.2:
|
execa@*, execa@^4.0.0, execa@^4.0.1, execa@^4.0.3:
|
||||||
version "4.0.3"
|
version "4.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/execa/-/execa-4.0.3.tgz#0a34dabbad6d66100bd6f2c576c8669403f317f2"
|
resolved "https://registry.yarnpkg.com/execa/-/execa-4.0.3.tgz#0a34dabbad6d66100bd6f2c576c8669403f317f2"
|
||||||
integrity sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A==
|
integrity sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A==
|
||||||
|
|
@ -7517,9 +7522,9 @@ jsbn@~0.1.0:
|
||||||
integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM=
|
integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM=
|
||||||
|
|
||||||
jsdom@^16.2.2:
|
jsdom@^16.2.2:
|
||||||
version "16.2.2"
|
version "16.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.2.2.tgz#76f2f7541646beb46a938f5dc476b88705bedf2b"
|
resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.3.0.tgz#75690b7dac36c67be49c336dcd7219bbbed0810c"
|
||||||
integrity sha512-pDFQbcYtKBHxRaP55zGXCJWgFHkDAYbKcsXEK/3Icu9nKYZkutUXfLBwbD+09XDutkYSHcgfQLZ0qvpAAm9mvg==
|
integrity sha512-zggeX5UuEknpdZzv15+MS1dPYG0J/TftiiNunOeNxSl3qr8Z6cIlQpN0IdJa44z9aFxZRIVqRncvEhQ7X5DtZg==
|
||||||
dependencies:
|
dependencies:
|
||||||
abab "^2.0.3"
|
abab "^2.0.3"
|
||||||
acorn "^7.1.1"
|
acorn "^7.1.1"
|
||||||
|
|
@ -7541,7 +7546,7 @@ jsdom@^16.2.2:
|
||||||
tough-cookie "^3.0.1"
|
tough-cookie "^3.0.1"
|
||||||
w3c-hr-time "^1.0.2"
|
w3c-hr-time "^1.0.2"
|
||||||
w3c-xmlserializer "^2.0.0"
|
w3c-xmlserializer "^2.0.0"
|
||||||
webidl-conversions "^6.0.0"
|
webidl-conversions "^6.1.0"
|
||||||
whatwg-encoding "^1.0.5"
|
whatwg-encoding "^1.0.5"
|
||||||
whatwg-mimetype "^2.3.0"
|
whatwg-mimetype "^2.3.0"
|
||||||
whatwg-url "^8.0.0"
|
whatwg-url "^8.0.0"
|
||||||
|
|
@ -8508,11 +8513,16 @@ needle@^2.2.1:
|
||||||
iconv-lite "^0.4.4"
|
iconv-lite "^0.4.4"
|
||||||
sax "^1.2.4"
|
sax "^1.2.4"
|
||||||
|
|
||||||
neo-async@2.6.1, neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1:
|
neo-async@2.6.1:
|
||||||
version "2.6.1"
|
version "2.6.1"
|
||||||
resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c"
|
resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c"
|
||||||
integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==
|
integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==
|
||||||
|
|
||||||
|
neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1:
|
||||||
|
version "2.6.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f"
|
||||||
|
integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==
|
||||||
|
|
||||||
next-tick@~1.0.0:
|
next-tick@~1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c"
|
resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c"
|
||||||
|
|
@ -11661,9 +11671,9 @@ ts-pnp@^1.1.6:
|
||||||
integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==
|
integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==
|
||||||
|
|
||||||
ts-toolbelt@^6.3.3:
|
ts-toolbelt@^6.3.3:
|
||||||
version "6.10.1"
|
version "6.10.14"
|
||||||
resolved "https://registry.yarnpkg.com/ts-toolbelt/-/ts-toolbelt-6.10.1.tgz#0200a0f49a1ffea22c8b50c750940e2db400a1e8"
|
resolved "https://registry.yarnpkg.com/ts-toolbelt/-/ts-toolbelt-6.10.14.tgz#6f78ad020ec4158eb61b4d057c30978aa765b6a5"
|
||||||
integrity sha512-yRPcOXPjUfaUjrVSJ5xP1vFTZYa2Gcop0DjGtIIM1ELSGX1x5/bFIVneBhrh1uiTFBGaXFV+7hsNKU4l27eiOA==
|
integrity sha512-ieGomT+LevS5/AsxkFnGSzaqDSW0CpXNsLKCqTIsMY3Vg803enXbdVs8jEsdlEjAPzZqsxcMz2BnqRuwY4Urzw==
|
||||||
|
|
||||||
tslib@^1.8.1, tslib@^1.9.0:
|
tslib@^1.8.1, tslib@^1.9.0:
|
||||||
version "1.13.0"
|
version "1.13.0"
|
||||||
|
|
@ -12099,7 +12109,7 @@ webidl-conversions@^5.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff"
|
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff"
|
||||||
integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==
|
integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==
|
||||||
|
|
||||||
webidl-conversions@^6.0.0:
|
webidl-conversions@^6.1.0:
|
||||||
version "6.1.0"
|
version "6.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514"
|
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514"
|
||||||
integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==
|
integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==
|
||||||
|
|
|
||||||
Reference in a new issue