diff --git a/.gitignore b/.gitignore index 0e09140f7..b4d703968 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,5 @@ -/.project -/generated-production/ -/generated-staging/ -/jsonnet-generated-production/ -/jsonnet-generated-staging/ -/charts/openvsx/charts +# Object file +*.o + +# Ada Library Information +*.ali diff --git a/.gitpod.yml b/.gitpod.yml index c75353ef7..482889f59 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -1,6 +1,6 @@ -ports: +ports: - port: 3000 - + tasks: - init: | corepack enable diff --git a/Dockerfile b/Dockerfile index ab7b312f4..a1bc7c946 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -ARG SERVER_VERSION=c2ec92e6 +ARG SERVER_VERSION # Builder image to compile the website FROM ubuntu AS builder @@ -36,4 +36,4 @@ COPY --from=builder --chown=openvsx:openvsx /workdir/configuration/application.y COPY --from=builder --chown=openvsx:openvsx /workdir/configuration/logback-spring.xml BOOT-INF/classes/ # Replace version placeholder with arg value -RUN sed -i "s//$SERVER_VERSION/g" config/application.yml \ No newline at end of file +RUN sed -i "s//$SERVER_VERSION/g" config/application.yml diff --git a/LICENSE b/LICENSE index e23ece2c8..acf609c80 100644 --- a/LICENSE +++ b/LICENSE @@ -1,5 +1,5 @@ -Eclipse Public License - v 2.0 - +Eclipse Public License - v 2.0 + THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. @@ -274,4 +274,4 @@ version(s), and exceptions or additional permissions here}." file in a relevant directory) where a recipient would be likely to look for such a notice. - You may add additional accurate notices of copyright ownership. \ No newline at end of file + You may add additional accurate notices of copyright ownership. diff --git a/README.md b/README.md index b23cb535f..2cf4e0672 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # open-vsx.org This repository contains the source of [open-vsx.org](https://open-vsx.org), the public instance of [Eclipse Open VSX](https://github.com/eclipse/openvsx). Most of the code is maintained in [eclipse/openvsx](https://github.com/eclipse/openvsx), while here you'll find only adaptations specific to the public instance. - + The main artifact is the Docker image available at [ghcr.io/eclipsefdn/openvsx-website](https://github.com/orgs/EclipseFdn/packages/container/package/openvsx-website). It contains the server application with customized frontend and base configuration. ## Publishing and Managing Extensions diff --git a/charts/openvsx/.helmignore b/charts/openvsx/.helmignore index 0e8a0eb36..746681102 100644 --- a/charts/openvsx/.helmignore +++ b/charts/openvsx/.helmignore @@ -1,4 +1,4 @@ -# Patterns to ignore when building packages. +# Patterns to ignore when building packages. # This supports shell glob matching, relative path matching, and # negation (prefixed with !). Only one pattern per line. .DS_Store diff --git a/charts/openvsx/Chart.lock b/charts/openvsx/Chart.lock index d3dcdc1a0..f68a3e53e 100644 --- a/charts/openvsx/Chart.lock +++ b/charts/openvsx/Chart.lock @@ -1,4 +1,4 @@ -dependencies: +dependencies: - name: alloy repository: https://grafana.github.io/helm-charts version: 1.1.2 diff --git a/charts/openvsx/Chart.yaml b/charts/openvsx/Chart.yaml index 37f2b46a7..cab4bd99a 100644 --- a/charts/openvsx/Chart.yaml +++ b/charts/openvsx/Chart.yaml @@ -1,4 +1,4 @@ -apiVersion: v2 +apiVersion: v2 name: openvsx description: A Helm chart for Kubernetes type: application @@ -7,4 +7,4 @@ appVersion: "1.16.0" dependencies: - name: alloy version: 1.1.2 - repository: https://grafana.github.io/helm-charts \ No newline at end of file + repository: https://grafana.github.io/helm-charts diff --git a/charts/openvsx/crds/redis-cluster.yaml b/charts/openvsx/crds/redis-cluster.yaml index 10d3fec73..ab60e1fb5 100644 --- a/charts/openvsx/crds/redis-cluster.yaml +++ b/charts/openvsx/crds/redis-cluster.yaml @@ -1,6 +1,6 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition -metadata: +metadata: name: redisclusters.open-vsx.org spec: scope: Namespaced diff --git a/charts/openvsx/templates/elasticsearch.yaml b/charts/openvsx/templates/elasticsearch.yaml index 0dc7d2bb8..b4f3eec0b 100644 --- a/charts/openvsx/templates/elasticsearch.yaml +++ b/charts/openvsx/templates/elasticsearch.yaml @@ -1,5 +1,5 @@ apiVersion: elasticsearch.k8s.elastic.co/v1 -kind: Elasticsearch +kind: Elasticsearch metadata: labels: app: {{ .Values.name }} @@ -56,4 +56,4 @@ spec: name: elasticsearch resources: {{- toYaml .Values.es.resources | nindent 12 }} - version: 8.7.1 \ No newline at end of file + version: 8.7.1 diff --git a/charts/openvsx/templates/grafana-alloy.yaml b/charts/openvsx/templates/grafana-alloy.yaml index c135eee24..09bd63ec9 100644 --- a/charts/openvsx/templates/grafana-alloy.yaml +++ b/charts/openvsx/templates/grafana-alloy.yaml @@ -1,4 +1,4 @@ -apiVersion: v1 +apiVersion: v1 kind: ConfigMap metadata: labels: diff --git a/charts/openvsx/templates/redis-cluster-operator/deployment.yaml b/charts/openvsx/templates/redis-cluster-operator/deployment.yaml index 0e64f5a64..aca4b4c91 100644 --- a/charts/openvsx/templates/redis-cluster-operator/deployment.yaml +++ b/charts/openvsx/templates/redis-cluster-operator/deployment.yaml @@ -1,4 +1,4 @@ -apiVersion: apps/v1 +apiVersion: apps/v1 kind: Deployment metadata: labels: diff --git a/charts/openvsx/templates/redis-cluster.yaml b/charts/openvsx/templates/redis-cluster.yaml index 66468950a..097ff03ff 100644 --- a/charts/openvsx/templates/redis-cluster.yaml +++ b/charts/openvsx/templates/redis-cluster.yaml @@ -1,4 +1,4 @@ -apiVersion: open-vsx.org/v1 +apiVersion: open-vsx.org/v1 kind: RedisCluster metadata: labels: diff --git a/charts/openvsx/templates/route.yaml b/charts/openvsx/templates/route.yaml index f074afaf2..178a7d215 100644 --- a/charts/openvsx/templates/route.yaml +++ b/charts/openvsx/templates/route.yaml @@ -1,5 +1,5 @@ apiVersion: route.openshift.io/v1 -kind: Route +kind: Route metadata: annotations: haproxy.router.openshift.io/disable_cookies: 'true' diff --git a/charts/openvsx/templates/service-monitor.yaml b/charts/openvsx/templates/service-monitor.yaml index 38060ebcc..c7787fd1b 100644 --- a/charts/openvsx/templates/service-monitor.yaml +++ b/charts/openvsx/templates/service-monitor.yaml @@ -1,5 +1,5 @@ apiVersion: monitoring.coreos.com/v1 -kind: ServiceMonitor +kind: ServiceMonitor metadata: labels: app: {{ .Values.name }} @@ -18,4 +18,4 @@ spec: endpoints: - port: management path: /actuator/prometheus - interval: 60s \ No newline at end of file + interval: 60s diff --git a/charts/openvsx/templates/service.yaml b/charts/openvsx/templates/service.yaml index 3672f75ca..cdbaf780b 100644 --- a/charts/openvsx/templates/service.yaml +++ b/charts/openvsx/templates/service.yaml @@ -1,4 +1,4 @@ -apiVersion: v1 +apiVersion: v1 kind: Service metadata: labels: diff --git a/charts/openvsx/values-staging.yaml b/charts/openvsx/values-staging.yaml index 0d2f84a1a..40f873b2f 100644 --- a/charts/openvsx/values-staging.yaml +++ b/charts/openvsx/values-staging.yaml @@ -1,11 +1,11 @@ -# Default values for openvsx staging. +# Default values for openvsx staging. name: &name open-vsx-org environment: &environment staging namespace: &namespace open-vsx-org host: staging.open-vsx.org -replicaCount: 1 +replicaCount: 1 esReplicaCount: 1 image: diff --git a/charts/openvsx/values.yaml b/charts/openvsx/values.yaml index c4f71a5a4..becae51ad 100644 --- a/charts/openvsx/values.yaml +++ b/charts/openvsx/values.yaml @@ -1,5 +1,5 @@ # Default values for openvsx. - + name: &name open-vsx-org environment: &environment production namespace: &namespace open-vsx-org @@ -91,4 +91,4 @@ alloy: app: *name environment: *environment fullnameOverride: grafana-alloy-production - namespaceOverride: *namespace \ No newline at end of file + namespaceOverride: *namespace diff --git a/configuration/application.yml b/configuration/application.yml index c5a6c587d..f4b2ab874 100644 --- a/configuration/application.yml +++ b/configuration/application.yml @@ -1,8 +1,8 @@ -# This is the base configuration of the server running at open-vsx.org. +# This is the base configuration of the server running at open-vsx.org. # Properties containing secrets are not included here, e.g. spring.datasource # for database access and ovsx.storage.azure for file storage access. # Additional properties are loaded from the file provided with the -# DEPLOYMENT_CONFIG environment variable. +# DEPLOYMENT_CONFIG environment variable. logging: pattern: level: '%5p [${spring.application.name:},%X{traceId:-},%X{spanId:-}]' diff --git a/configuration/logback-spring.xml b/configuration/logback-spring.xml index 8713d0dd5..cf25c56fa 100644 --- a/configuration/logback-spring.xml +++ b/configuration/logback-spring.xml @@ -1,5 +1,5 @@ - - + + diff --git a/dashboards/Grafana Agent Overview-1715193342579.json b/dashboards/Grafana Agent Overview-1715193342579.json index 6afb2a650..aa7635cf5 100644 --- a/dashboards/Grafana Agent Overview-1715193342579.json +++ b/dashboards/Grafana Agent Overview-1715193342579.json @@ -1,4 +1,4 @@ -{ +{ v "__inputs": [], "__elements": {}, "__requires": [ @@ -1132,4 +1132,4 @@ "uid": "integration-agent", "version": 1, "weekStart": "" -} \ No newline at end of file +} diff --git a/dashboards/Spring Boot Statistics-1715193360107.json b/dashboards/Spring Boot Statistics-1715193360107.json index d29854408..ddd267c8e 100644 --- a/dashboards/Spring Boot Statistics-1715193360107.json +++ b/dashboards/Spring Boot Statistics-1715193360107.json @@ -1,4 +1,4 @@ -{ +{ "__inputs": [ { "name": "DS_GRAFANACLOUD-OPENVSX-PROM", @@ -21,7 +21,7 @@ "type": "grafana", "id": "grafana", "name": "Grafana", - "version": "11.1.0-69950" + "version": "11.1.0-6" }, { "type": "datasource", @@ -4820,4 +4820,4 @@ "uid": "20201230-spring", "version": 12, "weekStart": "" -} \ No newline at end of file +} diff --git a/dashboards/Tracing-1715193376189.json b/dashboards/Tracing-1715193376189.json index 8e23a98f1..89f2106f8 100644 --- a/dashboards/Tracing-1715193376189.json +++ b/dashboards/Tracing-1715193376189.json @@ -1,5 +1,5 @@ -{ - "__inputs": [ +{ + "__inputs": [ { "name": "DS_GRAFANACLOUD-OPENVSX-TRACES", "label": "grafanacloud-openvsx-traces", @@ -371,4 +371,4 @@ "uid": "edc2eznq882rkb", "version": 1, "weekStart": "" -} \ No newline at end of file +} diff --git a/examples.go b/examples.go new file mode 100644 index 000000000..4dbdac4fa --- /dev/null +++ b/examples.go @@ -0,0 +1,340 @@ +package examples + +import ( + "context" + "encoding/json" + "fmt" + "time" + "log" + "os" + "path/filepath" + + "google.golang.org/genai" +) + +func TokensContext() error { + // [START tokens_context] + ctx := context.Background() + client, err := genai.NewClient(ctx, &genai.ClientConfig{ + APIKey: os.Getenv("AIzaSyAYAo5MRPYHkG-nKg-kQyuwQ0sxp_UyIwg"), + Backend: genai.BackendGeminiAPI, + }) + if err != nil { + log.Fatal(err) + } + + modelInfo, err := client.Models.Get(ctx, "gemini-2.0-flash", &genai.GetModelConfig{}) + if err != nil { + log.Fatal(err) + } + fmt.Printf("input_token_limit=%d\n", modelInfo.InputTokenLimit) + fmt.Printf("output_token_limit=%d\n", modelInfo.OutputTokenLimit) + // [END tokens_context_window] + return err +} + +func TokensTextOnly() error { + // [START tokens_text_only] + ctx := context.Background() + client, err := genai.NewClient(ctx, &genai.ClientConfig{ + APIKey: os.Getenv("AIzaSyAYAo5MRPYHkG-nKg-kQyuwQ0sxp_UyIwg"), + Backend: genai.BackendGeminiAPI, + }) + if err != nil { + log.Fatal(err) + } + prompt := "The quick brown fox jumps over the lazy dog." + + // Convert prompt to a slice of *genai.Content using the helper. + contents := []*genai.Content{ + genai.NewContentFromText(prompt, genai.RoleUser), + } + countResp, err := client.Models.CountTokens(ctx, "gemini-2.0-flash", contents, nil) + if err != nil { + return err + } + fmt.Println("total_tokens:", countResp.TotalTokens) + + response, err := client.Models.GenerateContent(ctx, "gemini-2.0-flash", contents, nil) + if err != nil { + log.Fatal(err) + } + usageMetadata, err := json.MarshalIndent(response.UsageMetadata, "", " ") + if err != nil { + log.Fatal(err) + } + fmt.Println(string(usageMetadata)) + // [END tokens_text_only] + return err +} + +func TokensChat() error { + // [START tokens_chat] + ctx := context.Background() + client, err := genai.NewClient(ctx, &genai.ClientConfig{ + APIKey: os.Getenv("AIzaSyAYAo5MRPYHkG-nKg-kQyuwQ0sxp_UyIwg"), + Backend: genai.BackendGeminiAPI, + }) + if err != nil { + log.Fatal(err) + } + + // Initialize chat with some history. + history := []*genai.Content{ + {Role: genai.RoleUser, Parts: []*genai.Part{{Text: "Hi my name is Bob"}}}, + {Role: genai.RoleModel, Parts: []*genai.Part{{Text: "Hi Bob!"}}}, + } + chat, err := client.Chats.Create(ctx, "gemini-2.0-flash", nil, history) + if err != nil { + log.Fatal(err) + } + + firstTokenResp, err := client.Models.CountTokens(ctx, "gemini-2.0-flash", chat.History(false), nil) + if err != nil { + log.Fatal(err) + } + fmt.Println(firstTokenResp.TotalTokens) + + resp, err := chat.SendMessage(ctx, genai.Part{ + Text: "In one sentence, explain how a computer works to a young child."}, + ) + if err != nil { + log.Fatal(err) + } + fmt.Printf("%#v\n", resp.UsageMetadata) + + // Append an extra user message and recount. +extra:= +genai.NewContentFromText("Append an extra user message and recount.", genai.RoleUser) + hist := chat.History(false) + hist = append(hist, extra) + + secondTokenResp, err := client.Models.CountTokens(ctx, "gemini-2.0-flash", hist, nil) + if err != nil { + log.Fatal(err) + } + fmt.Println(secondTokenResp.TotalTokens) + // [END tokens_chat] + + return nil +} + +func TokensMultimodalImageFileApi() error { + // [START tokens_multimodal_image_file_api] + ctx := context.Background() + client, err := genai.NewClient(ctx, &genai.ClientConfig{ + APIKey: os.Getenv("AIzaSyAYAo5MRPYHkG-nKg-kQyuwQ0sxp_UyIwg"), + Backend: genai.BackendGeminiAPI, + }) + if err != nil { + log.Fatal(err) + } + + file, err := client.Files.UploadFromPath( + ctx, + filepath.Join(getMedia(), "organ.jpg"), + &genai.UploadFileConfig{ + MIMEType : "image/jpeg", + }, + ) + if err != nil { + log.Fatal(err) + } + parts := []*genai.Part{ + genai.NewPartFromText("Tell me about this image"), + genai.NewPartFromURI(file.URI, file.MIMEType), + } + contents := []*genai.Content{ + genai.NewContentFromParts(parts, genai.RoleUser), + } + + tokenResp, err := client.Models.CountTokens(ctx, "gemini-2.0-flash", contents, nil) + if err != nil { + log.Fatal(err) + } + fmt.Println("Multimodal image token count:", tokenResp.TotalTokens) + + response, err := client.Models.GenerateContent(ctx, "gemini-2.0-flash", contents, nil) + if err != nil { + log.Fatal(err) + } + usageMetadata, err := json.MarshalIndent(response.UsageMetadata, "", " ") + if err != nil { + log.Fatal(err) + } + fmt.Println(string(usageMetadata)) + // [END tokens_multimodal_image_file_api] + return err +} + +func TokensMultimodalVideoAudioFileApi() error { + // [START tokens_multimodal_video_audio_file_api] + ctx := context.Background() + client, err := genai.NewClient(ctx, &genai.ClientConfig{ + APIKey: os.Getenv("AIzaSyAYAo5MRPYHkG-nKg-kQyuwQ0sxp_UyIwg"), + Backend: genai.BackendGeminiAPI, + }) + if err != nil { + log.Fatal(err) + } + + file, err := client.Files.UploadFromPath( + ctx, + filepath.Join(getMedia(), "Big_Buck_Bunny.mp4"), + &genai.UploadFileConfig{ + MIMEType : "video/mp4", + }, + ) + if err != nil { + log.Fatal(err) + } + + // Poll until the video file is completely processed (state becomes ACTIVE). + for file.State == genai.FileStateUnspecified || file.State != genai.FileStateActive { + fmt.Println("Processing video...") + fmt.Println("File state:", file.State) + time.Sleep(5 * time.Second) + + file, err = client.Files.Get(ctx, file.Name, nil) + if err != nil { + log.Fatal(err) + } + } + + parts := []*genai.Part{ + genai.NewPartFromText("Tell me about this video"), + genai.NewPartFromURI(file.URI, file.MIMEType), + } + contents := []*genai.Content{ + genai.NewContentFromParts(parts, genai.RoleUser), + } + + tokenResp, err := client.Models.CountTokens(ctx, "gemini-2.0-flash", contents, nil) + if err != nil { + log.Fatal(err) + } + fmt.Println("Multimodal video/audio token count:", tokenResp.TotalTokens) + response, err := client.Models.GenerateContent(ctx, "gemini-2.0-flash", contents, nil) + if err != nil { + log.Fatal(err) + } + usageMetadata, err := json.MarshalIndent(response.UsageMetadata, "", " ") + if err != nil { + log.Fatal(err) + } + fmt.Println(string(usageMetadata)) + // [END tokens_multimodal_video_audio_file_api] + return err +} + +func TokensMultimodalPdfFileApi() error { + // [START tokens_multimodal_pdf_file_api] + ctx := context.Background() + client, err := genai.NewClient(ctx, &genai.ClientConfig{ + APIKey: os.Getenv(" "), + Backend: genai.BackendGeminiAPI, + }) + if err != nil { + log.Fatal(err) + } + + file, err := client.Files.UploadFromPath( + ctx, + filepath.Join(getMedia(), "test.pdf"), + &genai.UploadFileConfig{ + MIMEType : "application/pdf", + }, + ) + if err != nil { + log.Fatal(err) + } + parts := []*genai.Part{ + genai.NewPartFromText("Give me a summary of this document."), + genai.NewPartFromURI(file.URI, file.MIMEType), + } + contents := []*genai.Content{ + genai.NewContentFromParts(parts, genai.RoleUser), + } + + tokenResp, err := client.Models.CountTokens(ctx, "gemini-2.0-flash", contents, nil) + if err != nil { + log.Fatal(err) + } + fmt.Printf("Multimodal PDF token count: %d\n", tokenResp.TotalTokens) + response, err := client.Models.GenerateContent(ctx, "gemini-2.0-flash", contents, nil) + if err != nil { + log.Fatal(err) + } + usageMetadata, err := json.MarshalIndent(response.UsageMetadata, "", " ") + if err != nil { + log.Fatal(err) + } + fmt.Println(string(usageMetadata)) + // [END tokens_multimodal_pdf_file_api] + return err +} + +func TokensCachedContent() error { + // [START tokens_cached_content] + ctx := context.Background() + client, err := genai.NewClient(ctx, &genai.ClientConfig{ + APIKey: os.Getenv("AIzaSyAYAo5MRPYHkG-nKg-kQyuwQ0sxp_UyIwg"), + Backend: genai.BackendGeminiAPI, + }) + if err != nil { + log.Fatal(err) + } + + file, err := client.Files.UploadFromPath( + ctx, + filepath.Join(getMedia(), "a11.txt"), + &genai.UploadFileConfig{ + MIMEType : "text/plain", + }, + ) + if err != nil { + log.Fatal(err) + } + parts := []*genai.Part{ + genai.NewPartFromText("Here the Apollo 11 transcript:"), + genai.NewPartFromURI(file.URI, file.MIMEType), + } + contents := []*genai.Content{ + genai.NewContentFromParts(parts, genai.RoleUser), + } + + // Create cached content using a simple slice with text and a file. + cache, err := client.Caches.Create(ctx, "gemini-1.5-flash-001", &genai.CreateCachedContentConfig{ + Contents: contents, + }) + if err != nil { + log.Fatal(err) + } + + prompt := "Please give a short summary of this file." + countResp, err := client.Models.CountTokens(ctx, "gemini-2.0-flash", []*genai.Content{ + genai.NewContentFromText(prompt, genai.RoleUser), + }, nil) + if err != nil { + log.Fatal(err) + } + fmt.Printf("%d", countResp.TotalTokens) + response, err := client.Models.GenerateContent(ctx, "gemini-1.5-flash-001", []*genai.Content{ + genai.NewContentFromText(prompt, genai.RoleUser), + }, &genai.GenerateContentConfig{ + CachedContent: cache.Name, + }) + if err != nil { + log.Fatal(err) + } + + usageMetadata, err := json.MarshalIndent(response.UsageMetadata, "", " ") + if err != nil { + log.Fatal(err) + } + // Returns `nil` for some reason + fmt.Println(string(usageMetadata)) + _, err = client.Caches.Delete(ctx, cache.Name, &genai.DeleteCachedContentConfig{}) + // [END tokens_cached_content] + return err +} diff --git a/kubernetes/README.md b/kubernetes/README.md index b5e8832c1..345c6762f 100644 --- a/kubernetes/README.md +++ b/kubernetes/README.md @@ -1,5 +1,5 @@ ## How to deploy staging instance for a given image? - + ```bash ./helm-deploy.sh staging ``` @@ -16,4 +16,4 @@ Where `` can be de4f2c ## Dependencies * bash 4 -* [Helm](https://https://helm.sh/) \ No newline at end of file +* [Helm](https://https://helm.sh/) diff --git a/kubernetes/helm-deploy.sh b/kubernetes/helm-deploy.sh index 46b129da4..e4ff5b043 100755 --- a/kubernetes/helm-deploy.sh +++ b/kubernetes/helm-deploy.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env bash #******************************************************************************* # Copyright (c) 2024 Eclipse Foundation and others. @@ -57,4 +57,4 @@ else fi helm "${action}" "${release_name}" "${ROOT_DIR}/charts/${chart_name}" -f "${values_file}" --set image.tag="${image_tag}" --namespace "${namespace}" - \ No newline at end of file + diff --git a/reports/get_all_extensions.py b/reports/get_all_extensions.py index a8e76bd42..220e4bc32 100644 --- a/reports/get_all_extensions.py +++ b/reports/get_all_extensions.py @@ -1,4 +1,4 @@ -""" +""" Script to collect metadata on all published extensions. Used by Jupyter notebooks. """ import requests diff --git a/reports/get_availability_data.py b/reports/get_availability_data.py index b6f22e5cb..72e39a132 100644 --- a/reports/get_availability_data.py +++ b/reports/get_availability_data.py @@ -1,4 +1,4 @@ -""" +""" Script to collect availability data from open-vsx endpoints monitored by betteruptime. Used by graph_availability_trends Jupyter Notebook.Requires an access token from IT team. diff --git a/reports/get_open_vsx_data.py b/reports/get_open_vsx_data.py index 577b34485..6c8aebb36 100644 --- a/reports/get_open_vsx_data.py +++ b/reports/get_open_vsx_data.py @@ -1,4 +1,4 @@ -""" +""" Script to collect activity stats, used by Jupyter Notebooks. Requires an access token from https://open-vsx.org/user-settings/tokens with admin access. The following use web auth, not the API token: diff --git a/reports/get_vs_marketplace_data.py b/reports/get_vs_marketplace_data.py index 0bf5f46c2..e9347f782 100644 --- a/reports/get_vs_marketplace_data.py +++ b/reports/get_vs_marketplace_data.py @@ -1,4 +1,4 @@ -""" +""" Script to collect metadata on all extensions published on VS Code Marketplace. Outputs both a JSON and a CSV file. Note, this relies on interfaces that are not fully documented and are subject to change. @@ -147,4 +147,4 @@ def convert_date_str(input_str): json_file.close() except Exception as e: print('Error: %s' % e) - traceback.print_stack() \ No newline at end of file + traceback.print_stack() diff --git a/reports/graph_availability_trends.ipynb b/reports/graph_availability_trends.ipynb index 40ab4d292..b73dc9e35 100644 --- a/reports/graph_availability_trends.ipynb +++ b/reports/graph_availability_trends.ipynb @@ -1,4 +1,4 @@ -{ +{ "cells": [ { "attachments": {}, diff --git a/reports/graph_licenses.ipynb b/reports/graph_licenses.ipynb index 7d454d400..52b4e718d 100644 --- a/reports/graph_licenses.ipynb +++ b/reports/graph_licenses.ipynb @@ -1,4 +1,4 @@ -{ +{ "cells": [ { "cell_type": "markdown", diff --git a/reports/graph_most_active.ipynb b/reports/graph_most_active.ipynb index 6ea60e892..d2fedb636 100644 --- a/reports/graph_most_active.ipynb +++ b/reports/graph_most_active.ipynb @@ -1,4 +1,4 @@ -{ +{ "cells": [ { "cell_type": "markdown", diff --git a/reports/graph_trends.ipynb b/reports/graph_trends.ipynb index 60c7c3509..731b3bbeb 100644 --- a/reports/graph_trends.ipynb +++ b/reports/graph_trends.ipynb @@ -1,5 +1,5 @@ -{ - "cells": [ +{ + "cells": [ { "attachments": {}, "cell_type": "markdown", diff --git a/reports/reports.md b/reports/reports.md index 6b38c5fe4..f114375c4 100644 --- a/reports/reports.md +++ b/reports/reports.md @@ -1,4 +1,4 @@ -# Open VSX Reports +# Open VSX Reports Reports and supporting scripts for graphing availability and activity at open-vsx.org. Most require some sort of access token. ### graph_availability_trends.ipynb diff --git a/sonar-project.properties b/sonar-project.properties index 16a182827..63e1052df 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -1,5 +1,5 @@ sonar.projectKey=open-vsx_open-vsx-org -sonar.organization=open-vsx +sonar.organization=open-vsx # This is the name and version displayed in the SonarCloud UI. #sonar.projectName=open-vsx.org diff --git a/website/dev/main-dev.tsx b/website/dev/main-dev.tsx index 1f0341dfc..645921ecb 100644 --- a/website/dev/main-dev.tsx +++ b/website/dev/main-dev.tsx @@ -1,6 +1,6 @@ /******************************************************************************** * Copyright (c) 2020 TypeFox and others - * + * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0 which is available at * http://www.eclipse.org/legal/epl-2.0. diff --git a/website/dev/mock-service.ts b/website/dev/mock-service.ts index e98605651..68b73df23 100644 --- a/website/dev/mock-service.ts +++ b/website/dev/mock-service.ts @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2020 TypeFox and others + * Copyright (c) 2020 TypeFox and others * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0 which is available at @@ -13,7 +13,7 @@ import { UserData, ExtensionReview, PersonalAccessToken, CsrfTokenJson, ExtensionReference, Namespace, NamespaceMembershipList, AdminService, PublisherInfo, NewReview, ExtensionFilter, UrlString, MembershipRole, RegistryVersion } from "openvsx-webui"; - + const avatarUrl = 'https://upload.wikimedia.org/wikipedia/commons/9/99/Avatar_cupcake.png'; export class MockRegistryService extends ExtensionRegistryService { diff --git a/website/dev/server/index.js b/website/dev/server/index.js index b321c2c0f..6b588deef 100644 --- a/website/dev/server/index.js +++ b/website/dev/server/index.js @@ -1,6 +1,6 @@ -/******************************************************************************** +/******************************************************************************** * Copyright (c) 2020 TypeFox and others - * + * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0 which is available at * http://www.eclipse.org/legal/epl-2.0. diff --git a/website/dev/webpack.config.js b/website/dev/webpack.config.js index e3b8bbdaa..51a4c5b36 100644 --- a/website/dev/webpack.config.js +++ b/website/dev/webpack.config.js @@ -1,5 +1,5 @@ -/******************************************************************************** - * Copyright (c) 2020 TypeFox and others +/******************************************************************************** + * Copyright (c) 2020 TypeFox and others * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0 which is available at diff --git a/website/src/about.tsx b/website/src/about.tsx index 195b11ee9..1d12d688c 100644 --- a/website/src/about.tsx +++ b/website/src/about.tsx @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2020 TypeFox and others + * Copyright (c) 2020 TypeFox and others * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0 which is available at diff --git a/website/src/adopters.tsx b/website/src/adopters.tsx index c40190606..2d43b355e 100644 --- a/website/src/adopters.tsx +++ b/website/src/adopters.tsx @@ -1,4 +1,4 @@ -import React from "react"; +import React from "react"; import { Container, Typography, Box, Button } from "@mui/material"; import { styled, Theme } from '@mui/material/styles'; import AdoptersList from "./components/adopters-list"; diff --git a/website/src/components/adopters-list.tsx b/website/src/components/adopters-list.tsx index 5333d5d00..07ca170fa 100644 --- a/website/src/components/adopters-list.tsx +++ b/website/src/components/adopters-list.tsx @@ -1,6 +1,6 @@ /******************************************************************************** * Copyright (c) 2023 TypeFox and others - * + * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0 which is available at * http://www.eclipse.org/legal/epl-2.0. @@ -160,4 +160,4 @@ const AdopterItem: FunctionComponent = ({ name, logo, logoWhit ); -}; \ No newline at end of file +}; diff --git a/website/src/components/members-list.tsx b/website/src/components/members-list.tsx index 39592e2f3..9772806c3 100644 --- a/website/src/components/members-list.tsx +++ b/website/src/components/members-list.tsx @@ -1,4 +1,4 @@ -/******************************************************************************** +/******************************************************************************** * Copyright (c) 2023 TypeFox and others * * This program and the accompanying materials are made available under the diff --git a/website/src/document.tsx b/website/src/document.tsx index 2d27fb60e..7bd497af5 100644 --- a/website/src/document.tsx +++ b/website/src/document.tsx @@ -1,4 +1,4 @@ -/******************************************************************************** +/******************************************************************************** * Copyright (c) 2020 TypeFox and others * * This program and the accompanying materials are made available under the diff --git a/website/src/footer-content.tsx b/website/src/footer-content.tsx index cc1959fea..92c282b57 100644 --- a/website/src/footer-content.tsx +++ b/website/src/footer-content.tsx @@ -1,4 +1,4 @@ -/******************************************************************************** +/******************************************************************************** * Copyright (c) 2020 TypeFox and others * * This program and the accompanying materials are made available under the diff --git a/website/src/main.tsx b/website/src/main.tsx index 3e08d3efa..78c875f4e 100644 --- a/website/src/main.tsx +++ b/website/src/main.tsx @@ -1,6 +1,6 @@ /******************************************************************************** * Copyright (c) 2020 TypeFox and others - * + * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0 which is available at * http://www.eclipse.org/legal/epl-2.0. diff --git a/website/src/members.tsx b/website/src/members.tsx index fee3c6af8..bfcea09ea 100644 --- a/website/src/members.tsx +++ b/website/src/members.tsx @@ -1,4 +1,4 @@ -/******************************************************************************** +/******************************************************************************** * Copyright (c) 2023 TypeFox and others * * This program and the accompanying materials are made available under the diff --git a/website/src/menu-content.tsx b/website/src/menu-content.tsx index 2f3386b7f..8f6bd8385 100644 --- a/website/src/menu-content.tsx +++ b/website/src/menu-content.tsx @@ -1,4 +1,4 @@ -/******************************************************************************** +/******************************************************************************** * Copyright (c) 2020 TypeFox and others * * This program and the accompanying materials are made available under the diff --git a/website/src/openvsx-registry-logo.tsx b/website/src/openvsx-registry-logo.tsx index e69c9ecd0..63ca65435 100644 --- a/website/src/openvsx-registry-logo.tsx +++ b/website/src/openvsx-registry-logo.tsx @@ -1,6 +1,6 @@ /******************************************************************************** * Copyright (c) 2020 TypeFox and others - * + * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0 which is available at * http://www.eclipse.org/legal/epl-2.0. diff --git a/website/src/page-settings.tsx b/website/src/page-settings.tsx index 9ee21eaed..2f691cedf 100644 --- a/website/src/page-settings.tsx +++ b/website/src/page-settings.tsx @@ -1,4 +1,4 @@ -/******************************************************************************** +/********************************************************* *********************** * Copyright (c) 2020 TypeFox and others * * This program and the accompanying materials are made available under the diff --git a/website/static/documents/publisher-agreement-v1.0.md b/website/static/documents/publisher-agreement-v1.0.md index 3458e22ab..40cf2cc0a 100644 --- a/website/static/documents/publisher-agreement-v1.0.md +++ b/website/static/documents/publisher-agreement-v1.0.md @@ -1,5 +1,5 @@ -**Eclipse Foundation, Inc.** - +**Eclipse Foundation, Inc.** + # Open VSX Publisher Agreement Thank you for your interest in publishing in the Eclipse Open VSX Registry (“Open VSX”). As used in this Eclipse Open VSX Publisher Agreement (“Agreement”), the term “you”, ”your” or “Publisher” refers to you as an individual, and, to the extent you are the agent or employee of another person or entity that has rights in the Offering (as defined below) (such person or entity, a “Principal”) “you” and “publisher” also includes that Principal. diff --git a/website/static/documents/terms-of-use.md b/website/static/documents/terms-of-use.md index 3004698bb..671dae634 100644 --- a/website/static/documents/terms-of-use.md +++ b/website/static/documents/terms-of-use.md @@ -1,4 +1,4 @@ -# Open-VSX Registry Website Terms of Use +# Open-VSX Registry Website Terms of Use February 11, 2021 diff --git a/website/static/index.html b/website/static/index.html index cb55bf50e..e990a8945 100644 --- a/website/static/index.html +++ b/website/static/index.html @@ -1,4 +1,4 @@ - +