From 0d5132615c85f08d7c7082ee34d7a590f8b4d960 Mon Sep 17 00:00:00 2001 From: Douglas Parsons Date: Fri, 11 Feb 2022 16:03:44 +0000 Subject: [PATCH] Update documentation - change create-react-app examples to nextjs - clarify file structure when using root_directory a tad more - also use nextjs in the tests --- docs/resources/deployment.md | 23 ++++++++++++------- docs/resources/project.md | 14 +++++------ docs/resources/project_domain.md | 7 +++--- .../resources/vercel_deployment/resource.tf | 23 ++++++++++++------- examples/resources/vercel_project/resource.tf | 12 ++++------ .../vercel_project_domain/resource.tf | 7 +++--- vercel/data_source_project_test.go | 4 ++-- vercel/resource_deployment_test.go | 1 - vercel/resource_project_test.go | 4 ++-- 9 files changed, 51 insertions(+), 44 deletions(-) diff --git a/docs/resources/deployment.md b/docs/resources/deployment.md index 15e94fcc..fe02f405 100644 --- a/docs/resources/deployment.md +++ b/docs/resources/deployment.md @@ -25,12 +25,26 @@ Once the build step has completed successfully, a new, immutable deployment will ## Example Usage ```terraform +# In this example, we are assuming that a nextjs UI +# exists in a `ui` directory alongside any terraform. +# E.g. +# ``` +# ui/ +# src/ +# next.config.js +# // etc... +# main.tf +# ``` + data "vercel_project_directory" "example" { - path = "../ui" + path = "ui" } data "vercel_project" "example" { name = "my-awesome-project" + # The root directory here is also set to reflect the + # file structure. + root_directory = "ui" } resource "vercel_deployment" "example" { @@ -38,13 +52,6 @@ resource "vercel_deployment" "example" { files = data.vercel_project_directory.example.files production = true - project_settings = { - output_directory = ".build" - build_command = "npm run build && npm run post-build" - framework = "create-react-app" - root_directory = "../ui" - } - environment = { FOO = "bar" } diff --git a/docs/resources/project.md b/docs/resources/project.md index 5140a8ad..66652218 100644 --- a/docs/resources/project.md +++ b/docs/resources/project.md @@ -35,9 +35,8 @@ deployments, you may not want to create a Project within the same terraform work # Deployments will be created automatically # on every branch push and merges onto the Production Branch. resource "vercel_project" "with_git" { - name = "example-project-with-git" - framework = "create-react-app" - root_directory = "ui" + name = "example-project-with-git" + framework = "nextjs" environment = [ { @@ -57,15 +56,14 @@ resource "vercel_project" "with_git" { # Deployments will need to be created manually through # terraform, or via the vercel CLI. resource "vercel_project" "example" { - name = "example-project" - framework = "create-react-app" - root_directory = "packages/ui" + name = "example-project" + framework = "nextjs" environment = [ { key = "bar" value = "baz" - target = ["preview"] + target = ["preview", "production"] } ] } @@ -103,7 +101,7 @@ Optional: - **id** (String) The ID of the environment variable - **key** (String) The name of the environment variable. - **target** (Set of String) The environments that the environment variable should be present on. Valid targets are either `production`, `preview`, or `development`. -- **value** (String) The value of the environment variable. +- **value** (String, Sensitive) The value of the environment variable. diff --git a/docs/resources/project_domain.md b/docs/resources/project_domain.md index 7133e3a9..e457ad59 100644 --- a/docs/resources/project_domain.md +++ b/docs/resources/project_domain.md @@ -20,8 +20,7 @@ By default, Project Domains will be automatically applied to any `production` de ```terraform resource "vercel_project" "example" { - name = "example-project" - framework = "create-react-app" + name = "example-project" } # A simple domain that will be automatically @@ -31,8 +30,8 @@ resource "vercel_project_domain" "example" { domain = "i-love.vercel.app" } -# A redirect of a domain name to another domain name, -# with optional status_code control. +# A redirect of a domain name to a second domain name. +# The status_code can optionally be controlled. resource "vercel_project_domain" "example_redirect" { project_id = vercel_project.example.id domain = "i-also-love.vercel.app" diff --git a/examples/resources/vercel_deployment/resource.tf b/examples/resources/vercel_deployment/resource.tf index d9b5ca78..83a864cd 100644 --- a/examples/resources/vercel_deployment/resource.tf +++ b/examples/resources/vercel_deployment/resource.tf @@ -1,9 +1,23 @@ +# In this example, we are assuming that a nextjs UI +# exists in a `ui` directory alongside any terraform. +# E.g. +# ``` +# ui/ +# src/ +# next.config.js +# // etc... +# main.tf +# ``` + data "vercel_project_directory" "example" { - path = "../ui" + path = "ui" } data "vercel_project" "example" { name = "my-awesome-project" + # The root directory here is also set to reflect the + # file structure. + root_directory = "ui" } resource "vercel_deployment" "example" { @@ -11,13 +25,6 @@ resource "vercel_deployment" "example" { files = data.vercel_project_directory.example.files production = true - project_settings = { - output_directory = ".build" - build_command = "npm run build && npm run post-build" - framework = "create-react-app" - root_directory = "../ui" - } - environment = { FOO = "bar" } diff --git a/examples/resources/vercel_project/resource.tf b/examples/resources/vercel_project/resource.tf index 55a27e3a..ac3e1a77 100644 --- a/examples/resources/vercel_project/resource.tf +++ b/examples/resources/vercel_project/resource.tf @@ -2,9 +2,8 @@ # Deployments will be created automatically # on every branch push and merges onto the Production Branch. resource "vercel_project" "with_git" { - name = "example-project-with-git" - framework = "create-react-app" - root_directory = "ui" + name = "example-project-with-git" + framework = "nextjs" environment = [ { @@ -24,15 +23,14 @@ resource "vercel_project" "with_git" { # Deployments will need to be created manually through # terraform, or via the vercel CLI. resource "vercel_project" "example" { - name = "example-project" - framework = "create-react-app" - root_directory = "packages/ui" + name = "example-project" + framework = "nextjs" environment = [ { key = "bar" value = "baz" - target = ["preview"] + target = ["preview", "production"] } ] } diff --git a/examples/resources/vercel_project_domain/resource.tf b/examples/resources/vercel_project_domain/resource.tf index c1ffa103..7dd79ed4 100644 --- a/examples/resources/vercel_project_domain/resource.tf +++ b/examples/resources/vercel_project_domain/resource.tf @@ -1,6 +1,5 @@ resource "vercel_project" "example" { - name = "example-project" - framework = "create-react-app" + name = "example-project" } # A simple domain that will be automatically @@ -10,8 +9,8 @@ resource "vercel_project_domain" "example" { domain = "i-love.vercel.app" } -# A redirect of a domain name to another domain name, -# with optional status_code control. +# A redirect of a domain name to a second domain name. +# The status_code can optionally be controlled. resource "vercel_project_domain" "example_redirect" { project_id = vercel_project.example.id domain = "i-also-love.vercel.app" diff --git a/vercel/data_source_project_test.go b/vercel/data_source_project_test.go index 8e9007d1..cd1ef5e7 100644 --- a/vercel/data_source_project_test.go +++ b/vercel/data_source_project_test.go @@ -21,7 +21,7 @@ func TestAcc_ProjectDataSource(t *testing.T) { resource.TestCheckResourceAttr("data.vercel_project.test", "name", name), resource.TestCheckResourceAttr("data.vercel_project.test", "build_command", "npm run build"), resource.TestCheckResourceAttr("data.vercel_project.test", "dev_command", "npm run serve"), - resource.TestCheckResourceAttr("data.vercel_project.test", "framework", "create-react-app"), + resource.TestCheckResourceAttr("data.vercel_project.test", "framework", "nextjs"), resource.TestCheckResourceAttr("data.vercel_project.test", "install_command", "npm install"), resource.TestCheckResourceAttr("data.vercel_project.test", "output_directory", ".output"), resource.TestCheckResourceAttr("data.vercel_project.test", "public_source", "true"), @@ -43,7 +43,7 @@ resource "vercel_project" "test" { name = "%s" build_command = "npm run build" dev_command = "npm run serve" - framework = "create-react-app" + framework = "nextjs" install_command = "npm install" output_directory = ".output" public_source = true diff --git a/vercel/resource_deployment_test.go b/vercel/resource_deployment_test.go index e14d0310..4e8d64fc 100644 --- a/vercel/resource_deployment_test.go +++ b/vercel/resource_deployment_test.go @@ -75,7 +75,6 @@ func TestAcc_Deployment(t *testing.T) { } func TestAcc_DeploymentWithTeamID(t *testing.T) { - t.Parallel() testAccDeployment(t, os.Getenv("VERCEL_TERRAFORM_TESTING_TEAM")) } diff --git a/vercel/resource_project_test.go b/vercel/resource_project_test.go index 36859484..6bb2fb35 100644 --- a/vercel/resource_project_test.go +++ b/vercel/resource_project_test.go @@ -135,7 +135,7 @@ func testAccProject(t *testing.T, tid string) { resource.TestCheckResourceAttr("vercel_project.test", "name", fmt.Sprintf("test-acc-project-%s", projectSuffix)), resource.TestCheckResourceAttr("vercel_project.test", "build_command", "npm run build"), resource.TestCheckResourceAttr("vercel_project.test", "dev_command", "npm run serve"), - resource.TestCheckResourceAttr("vercel_project.test", "framework", "create-react-app"), + resource.TestCheckResourceAttr("vercel_project.test", "framework", "nextjs"), resource.TestCheckResourceAttr("vercel_project.test", "install_command", "npm install"), resource.TestCheckResourceAttr("vercel_project.test", "output_directory", ".output"), resource.TestCheckResourceAttr("vercel_project.test", "public_source", "true"), @@ -198,7 +198,7 @@ resource "vercel_project" "test" { %s build_command = "npm run build" dev_command = "npm run serve" - framework = "create-react-app" + framework = "nextjs" install_command = "npm install" output_directory = ".output" public_source = true