From e31fc94a702369d04c6d5c3a1073613c7256319b Mon Sep 17 00:00:00 2001 From: McKayla Washburn Date: Thu, 5 Oct 2023 20:47:11 +0000 Subject: [PATCH 1/4] update *ignores --- .gitignore | 1 + .prettierignore | 1 + Makefile | 7 +++- scripts/sitestatic/generateIconList.go | 54 ++++++++++++++++++++++++++ scripts/sitestatic/main.go | 8 ++++ site/.eslintignore | 1 + site/.prettierignore | 1 + site/static/icons.json | 1 + 8 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 scripts/sitestatic/generateIconList.go create mode 100644 scripts/sitestatic/main.go create mode 100644 site/static/icons.json diff --git a/.gitignore b/.gitignore index 2ccd459b811b9..173b2e7d74afc 100644 --- a/.gitignore +++ b/.gitignore @@ -29,6 +29,7 @@ site/e2e/test-results/* site/e2e/states/*.json site/e2e/.auth.json site/playwright-report/* +site/static/icons.json site/.swc # Make target for updating golden files (any dir). diff --git a/.prettierignore b/.prettierignore index c7882767e85af..52e7206819746 100644 --- a/.prettierignore +++ b/.prettierignore @@ -32,6 +32,7 @@ site/e2e/test-results/* site/e2e/states/*.json site/e2e/.auth.json site/playwright-report/* +site/static/icons.json site/.swc # Make target for updating golden files (any dir). diff --git a/Makefile b/Makefile index 64615132a556a..d5c0bcde7a88d 100644 --- a/Makefile +++ b/Makefile @@ -472,6 +472,7 @@ gen: \ site/.prettierignore \ site/.eslintignore \ site/e2e/provisionerGenerated.ts \ + site/static/icons.json \ examples/examples.gen.json .PHONY: gen @@ -495,6 +496,7 @@ gen/mark-fresh: site/.prettierignore \ site/.eslintignore \ site/e2e/provisionerGenerated.ts \ + site/static/icons.json \ examples/examples.gen.json \ " for file in $$files; do @@ -538,7 +540,7 @@ provisionerd/proto/provisionerd.pb.go: provisionerd/proto/provisionerd.proto ./provisionerd/proto/provisionerd.proto site/src/api/typesGenerated.ts: scripts/apitypings/main.go $(shell find ./codersdk $(FIND_EXCLUSIONS) -type f -name '*.go') - go run scripts/apitypings/main.go > site/src/api/typesGenerated.ts + go run ./scripts/apitypings/ > site/src/api/typesGenerated.ts cd site pnpm run format:types ./src/api/typesGenerated.ts @@ -547,6 +549,9 @@ site/e2e/provisionerGenerated.ts: provisionerd/proto/provisionerd.pb.go provisio ../scripts/pnpm_install.sh pnpm run gen:provisioner +site/static/icons.json: $(wildcard site/static/icon/*) + go run ./scripts/sitestatic/ + examples/examples.gen.json: scripts/examplegen/main.go examples/examples.go $(shell find ./examples/templates) go run ./scripts/examplegen/main.go > examples/examples.gen.json diff --git a/scripts/sitestatic/generateIconList.go b/scripts/sitestatic/generateIconList.go new file mode 100644 index 0000000000000..58fe6267e0179 --- /dev/null +++ b/scripts/sitestatic/generateIconList.go @@ -0,0 +1,54 @@ +package main + +import ( + "encoding/json" + "fmt" + "os" +) + +func generateIconList() int { + files, err := os.ReadDir("site/static/icon") + if err != nil { + _, _ = fmt.Println("failed to read icon/ directory") + _, _ = fmt.Println("err:", err.Error()) + return 71 // OSERR + } + + icons := make([]string, len(files)) + i := 0 + for _, file := range files { + if !file.Type().IsRegular() { + continue + } + + icons[i] = file.Name() + i++ + } + icons = icons[:i] + + outputFile, err := os.Create("./site/static/icons.json") + if err != nil { + _, _ = fmt.Println("failed to create file") + _, _ = fmt.Println("err:", err.Error()) + return 73 // CANTCREAT + } + defer outputFile.Close() + + iconsJSON, err := json.Marshal(icons) + if err != nil { + _, _ = fmt.Println("failed to serialize JSON") + _, _ = fmt.Println("err:", err.Error()) + return 70 // SOFTWARE + } + + written, err := outputFile.Write(iconsJSON) + if err != nil || written != len(iconsJSON) { + _, _ = fmt.Println("failed to write JSON") + if err != nil { + _, _ = fmt.Println("err:", err.Error()) + } + return 74 // IOERR + } + + return 0 +} diff --git a/scripts/sitestatic/main.go b/scripts/sitestatic/main.go new file mode 100644 index 0000000000000..aefa20c9e3849 --- /dev/null +++ b/scripts/sitestatic/main.go @@ -0,0 +1,8 @@ +package main + +import "os" + +func main() { + status := generateIconList() + os.Exit(status) +} diff --git a/site/.eslintignore b/site/.eslintignore index 4909d9bf919d2..06b9b0d715224 100644 --- a/site/.eslintignore +++ b/site/.eslintignore @@ -32,6 +32,7 @@ e2e/test-results/* e2e/states/*.json e2e/.auth.json playwright-report/* +static/icons.json .swc # Make target for updating golden files (any dir). diff --git a/site/.prettierignore b/site/.prettierignore index 4909d9bf919d2..06b9b0d715224 100644 --- a/site/.prettierignore +++ b/site/.prettierignore @@ -32,6 +32,7 @@ e2e/test-results/* e2e/states/*.json e2e/.auth.json playwright-report/* +static/icons.json .swc # Make target for updating golden files (any dir). diff --git a/site/static/icons.json b/site/static/icons.json new file mode 100644 index 0000000000000..89503f640b371 --- /dev/null +++ b/site/static/icons.json @@ -0,0 +1 @@ +["android-studio.svg","apache-guacamole.svg","aws.png","azure-devops.svg","azure.png","bitbucket.svg","centos.svg","clion.svg","code.svg","coder.svg","conda.svg","database.svg","datagrip.svg","dataspell.svg","debian.svg","do.png","docker.png","dotfiles.svg","fedora.svg","fly.io.svg","folder.svg","gateway.svg","gcp.png","git.svg","github.svg","gitlab.svg","goland.svg","image.svg","intellij.svg","java.svg","jax.svg","jfrog.svg","jupyter.svg","k8s.png","kasmvnc.svg","matlab.svg","memory.svg","node.svg","nomad.svg","novnc.svg","personalize.svg","phpstorm.svg","projector.svg","pycharm.svg","pytorch.svg","rider.svg","rockylinux.svg","rstudio.svg","rubymine.svg","tensorflow.svg","terminal.svg","theia.svg","ubuntu.svg","webstorm.svg","widgets.svg"] \ No newline at end of file From c3b4e5bcb6a32ac83cb80e74d63c5a28cb908d08 Mon Sep 17 00:00:00 2001 From: McKayla Washburn Date: Thu, 5 Oct 2023 20:57:15 +0000 Subject: [PATCH 2/4] bye --- site/static/icons.json | 1 - 1 file changed, 1 deletion(-) delete mode 100644 site/static/icons.json diff --git a/site/static/icons.json b/site/static/icons.json deleted file mode 100644 index 89503f640b371..0000000000000 --- a/site/static/icons.json +++ /dev/null @@ -1 +0,0 @@ -["android-studio.svg","apache-guacamole.svg","aws.png","azure-devops.svg","azure.png","bitbucket.svg","centos.svg","clion.svg","code.svg","coder.svg","conda.svg","database.svg","datagrip.svg","dataspell.svg","debian.svg","do.png","docker.png","dotfiles.svg","fedora.svg","fly.io.svg","folder.svg","gateway.svg","gcp.png","git.svg","github.svg","gitlab.svg","goland.svg","image.svg","intellij.svg","java.svg","jax.svg","jfrog.svg","jupyter.svg","k8s.png","kasmvnc.svg","matlab.svg","memory.svg","node.svg","nomad.svg","novnc.svg","personalize.svg","phpstorm.svg","projector.svg","pycharm.svg","pytorch.svg","rider.svg","rockylinux.svg","rstudio.svg","rubymine.svg","tensorflow.svg","terminal.svg","theia.svg","ubuntu.svg","webstorm.svg","widgets.svg"] \ No newline at end of file From 07961c9d70fcb1d9d825ed9a9ccfc4d9fae2df62 Mon Sep 17 00:00:00 2001 From: McKayla Washburn Date: Thu, 5 Oct 2023 21:57:29 +0000 Subject: [PATCH 3/4] import icons.json statically --- .gitignore | 2 +- .prettierignore | 2 +- Makefile | 8 ++++---- .../generateIconList.go | 14 ++++++++++---- scripts/gensite/main.go | 19 +++++++++++++++++++ scripts/sitestatic/main.go | 8 -------- site/.eslintignore | 2 +- site/.prettierignore | 2 +- 8 files changed, 37 insertions(+), 20 deletions(-) rename scripts/{sitestatic => gensite}/generateIconList.go (76%) create mode 100644 scripts/gensite/main.go delete mode 100644 scripts/sitestatic/main.go diff --git a/.gitignore b/.gitignore index 173b2e7d74afc..0344ce5e867bb 100644 --- a/.gitignore +++ b/.gitignore @@ -29,7 +29,7 @@ site/e2e/test-results/* site/e2e/states/*.json site/e2e/.auth.json site/playwright-report/* -site/static/icons.json +site/src/theme/icons.json site/.swc # Make target for updating golden files (any dir). diff --git a/.prettierignore b/.prettierignore index 52e7206819746..f394c72e6ca02 100644 --- a/.prettierignore +++ b/.prettierignore @@ -32,7 +32,7 @@ site/e2e/test-results/* site/e2e/states/*.json site/e2e/.auth.json site/playwright-report/* -site/static/icons.json +site/src/theme/icons.json site/.swc # Make target for updating golden files (any dir). diff --git a/Makefile b/Makefile index d5c0bcde7a88d..37cfbd4b1660d 100644 --- a/Makefile +++ b/Makefile @@ -472,7 +472,7 @@ gen: \ site/.prettierignore \ site/.eslintignore \ site/e2e/provisionerGenerated.ts \ - site/static/icons.json \ + site/src/theme/icons.json \ examples/examples.gen.json .PHONY: gen @@ -496,7 +496,7 @@ gen/mark-fresh: site/.prettierignore \ site/.eslintignore \ site/e2e/provisionerGenerated.ts \ - site/static/icons.json \ + site/src/theme/icons.json \ examples/examples.gen.json \ " for file in $$files; do @@ -549,8 +549,8 @@ site/e2e/provisionerGenerated.ts: provisionerd/proto/provisionerd.pb.go provisio ../scripts/pnpm_install.sh pnpm run gen:provisioner -site/static/icons.json: $(wildcard site/static/icon/*) - go run ./scripts/sitestatic/ +site/src/theme/icons.json: $(wildcard site/static/icon/*) + go run ./scripts/gensite/ -icons $@ examples/examples.gen.json: scripts/examplegen/main.go examples/examples.go $(shell find ./examples/templates) go run ./scripts/examplegen/main.go > examples/examples.gen.json diff --git a/scripts/sitestatic/generateIconList.go b/scripts/gensite/generateIconList.go similarity index 76% rename from scripts/sitestatic/generateIconList.go rename to scripts/gensite/generateIconList.go index 58fe6267e0179..ec3f91c1abd16 100644 --- a/scripts/sitestatic/generateIconList.go +++ b/scripts/gensite/generateIconList.go @@ -6,10 +6,14 @@ import ( "os" ) -func generateIconList() int { - files, err := os.ReadDir("site/static/icon") +func generateIconList(path string) int { + if path == "" { + return 0 // skip + } + + files, err := os.ReadDir("site/static/icon/") if err != nil { - _, _ = fmt.Println("failed to read icon/ directory") + _, _ = fmt.Println("failed to read site/static/icon/ directory") _, _ = fmt.Println("err:", err.Error()) return 71 // OSERR } @@ -26,7 +30,7 @@ func generateIconList() int { } icons = icons[:i] - outputFile, err := os.Create("./site/static/icons.json") + outputFile, err := os.Create(path) if err != nil { _, _ = fmt.Println("failed to create file") _, _ = fmt.Println("err:", err.Error()) @@ -50,5 +54,7 @@ func generateIconList() int { return 74 // IOERR } + _, _ = fmt.Println(green.Sprintf("==>"), path) + return 0 } diff --git a/scripts/gensite/main.go b/scripts/gensite/main.go new file mode 100644 index 0000000000000..9b30f9224bd84 --- /dev/null +++ b/scripts/gensite/main.go @@ -0,0 +1,19 @@ +package main + +import ( + "flag" + "os" + + "github.com/fatih/color" +) + +var green = color.New(color.FgGreen).Add(color.Bold) + +func main() { + var iconsPath string + flag.StringVar(&iconsPath, "icons", "", "the path to place icons.json at") + flag.Parse() + + status := generateIconList(iconsPath) + os.Exit(status) +} diff --git a/scripts/sitestatic/main.go b/scripts/sitestatic/main.go deleted file mode 100644 index aefa20c9e3849..0000000000000 --- a/scripts/sitestatic/main.go +++ /dev/null @@ -1,8 +0,0 @@ -package main - -import "os" - -func main() { - status := generateIconList() - os.Exit(status) -} diff --git a/site/.eslintignore b/site/.eslintignore index 06b9b0d715224..6b22046345142 100644 --- a/site/.eslintignore +++ b/site/.eslintignore @@ -32,7 +32,7 @@ e2e/test-results/* e2e/states/*.json e2e/.auth.json playwright-report/* -static/icons.json +src/theme/icons.json .swc # Make target for updating golden files (any dir). diff --git a/site/.prettierignore b/site/.prettierignore index 06b9b0d715224..6b22046345142 100644 --- a/site/.prettierignore +++ b/site/.prettierignore @@ -32,7 +32,7 @@ e2e/test-results/* e2e/states/*.json e2e/.auth.json playwright-report/* -static/icons.json +src/theme/icons.json .swc # Make target for updating golden files (any dir). From 450e6f900b97eb1dcb7e1029ded9c60820222a9a Mon Sep 17 00:00:00 2001 From: McKayla Washburn Date: Thu, 5 Oct 2023 22:03:07 +0000 Subject: [PATCH 4/4] check-in --- .gitignore | 1 - .prettierignore | 1 - Makefile | 1 + site/.eslintignore | 1 - site/.prettierignore | 1 - site/src/theme/icons.json | 57 +++++++++++++++++++++++++++++++++++++++ 6 files changed, 58 insertions(+), 4 deletions(-) create mode 100644 site/src/theme/icons.json diff --git a/.gitignore b/.gitignore index 0344ce5e867bb..2ccd459b811b9 100644 --- a/.gitignore +++ b/.gitignore @@ -29,7 +29,6 @@ site/e2e/test-results/* site/e2e/states/*.json site/e2e/.auth.json site/playwright-report/* -site/src/theme/icons.json site/.swc # Make target for updating golden files (any dir). diff --git a/.prettierignore b/.prettierignore index f394c72e6ca02..c7882767e85af 100644 --- a/.prettierignore +++ b/.prettierignore @@ -32,7 +32,6 @@ site/e2e/test-results/* site/e2e/states/*.json site/e2e/.auth.json site/playwright-report/* -site/src/theme/icons.json site/.swc # Make target for updating golden files (any dir). diff --git a/Makefile b/Makefile index 37cfbd4b1660d..b15feef634bde 100644 --- a/Makefile +++ b/Makefile @@ -551,6 +551,7 @@ site/e2e/provisionerGenerated.ts: provisionerd/proto/provisionerd.pb.go provisio site/src/theme/icons.json: $(wildcard site/static/icon/*) go run ./scripts/gensite/ -icons $@ + pnpm run format:write:only $@ examples/examples.gen.json: scripts/examplegen/main.go examples/examples.go $(shell find ./examples/templates) go run ./scripts/examplegen/main.go > examples/examples.gen.json diff --git a/site/.eslintignore b/site/.eslintignore index 6b22046345142..4909d9bf919d2 100644 --- a/site/.eslintignore +++ b/site/.eslintignore @@ -32,7 +32,6 @@ e2e/test-results/* e2e/states/*.json e2e/.auth.json playwright-report/* -src/theme/icons.json .swc # Make target for updating golden files (any dir). diff --git a/site/.prettierignore b/site/.prettierignore index 6b22046345142..4909d9bf919d2 100644 --- a/site/.prettierignore +++ b/site/.prettierignore @@ -32,7 +32,6 @@ e2e/test-results/* e2e/states/*.json e2e/.auth.json playwright-report/* -src/theme/icons.json .swc # Make target for updating golden files (any dir). diff --git a/site/src/theme/icons.json b/site/src/theme/icons.json new file mode 100644 index 0000000000000..bb62ee8a8b7b9 --- /dev/null +++ b/site/src/theme/icons.json @@ -0,0 +1,57 @@ +[ + "android-studio.svg", + "apache-guacamole.svg", + "aws.png", + "azure-devops.svg", + "azure.png", + "bitbucket.svg", + "centos.svg", + "clion.svg", + "code.svg", + "coder.svg", + "conda.svg", + "database.svg", + "datagrip.svg", + "dataspell.svg", + "debian.svg", + "do.png", + "docker.png", + "dotfiles.svg", + "fedora.svg", + "fly.io.svg", + "folder.svg", + "gateway.svg", + "gcp.png", + "git.svg", + "github.svg", + "gitlab.svg", + "goland.svg", + "image.svg", + "intellij.svg", + "java.svg", + "jax.svg", + "jfrog.svg", + "jupyter.svg", + "k8s.png", + "kasmvnc.svg", + "matlab.svg", + "memory.svg", + "node.svg", + "nomad.svg", + "novnc.svg", + "personalize.svg", + "phpstorm.svg", + "projector.svg", + "pycharm.svg", + "pytorch.svg", + "rider.svg", + "rockylinux.svg", + "rstudio.svg", + "rubymine.svg", + "tensorflow.svg", + "terminal.svg", + "theia.svg", + "ubuntu.svg", + "webstorm.svg", + "widgets.svg" +]