diff --git a/README.md b/README.md index 56560cb..fcfb474 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,7 @@ The data is intended for consumption by downstream products and services. | [SDK Types](./data/types.json) | SDK types for categorization. | | [SDK Features](./data/features.json) | SDK features, including version introduced/deprecated. | | [SDK Languages](./data/languages.json) | Programming languages associated with SDKs. | +| [SDK Repos](./data/repos.json) | SDK source repositories | ## structure diff --git a/data/repos.json b/data/repos.json new file mode 100644 index 0000000..881a303 --- /dev/null +++ b/data/repos.json @@ -0,0 +1,86 @@ +{ + "akamai": { + "github": "launchdarkly/js-core" + }, + "android-client-sdk": { + "github": "launchdarkly/android-client-sdk" + }, + "apex-server-sdk": { + "github": "launchdarkly/apex-server-sdk" + }, + "cloudflare": { + "github": "launchdarkly/js-core" + }, + "cpp-client-sdk": { + "github": "launchdarkly/cpp-sdks" + }, + "cpp-server-sdk": { + "github": "launchdarkly/cpp-sdks" + }, + "dotnet-client-sdk": { + "github": "launchdarkly/dotnet-client-sdk" + }, + "dotnet-server-sdk": { + "github": "launchdarkly/dotnet-server-sdk" + }, + "electron": { + "github": "launchdarkly/electron-client-sdk" + }, + "erlang-server-sdk": { + "github": "launchdarkly/erlang-server-sdk" + }, + "flutter-client-sdk": { + "github": "launchdarkly/flutter-client-sdk" + }, + "go-server-sdk": { + "github": "launchdarkly/go-server-sdk" + }, + "haskell-server-sdk": { + "github": "launchdarkly/haskell-server-sdk" + }, + "ios-client-sdk": { + "github": "launchdarkly/ios-client-sdk" + }, + "java-server-sdk": { + "github": "launchdarkly/java-server-sdk" + }, + "javascript-client-sdk": { + "github": "launchdarkly/js-client-sdk" + }, + "lua-server-sdk": { + "github": "launchdarkly/lua-server-sdk" + }, + "node-client-sdk": { + "github": "launchdarkly/node-client-sdk" + }, + "node-server-sdk": { + "github": "launchdarkly/js-core" + }, + "php-server-sdk": { + "github": "launchdarkly/php-server-sdk" + }, + "python-server-sdk": { + "github": "launchdarkly/python-server-sdk" + }, + "react-client-sdk": { + "github": "launchdarkly/react-client-sdk" + }, + "react-native-client-sdk": { + "github": "launchdarkly/js-core" + }, + "roku-client-sdk": { + "github": "launchdarkly/roku-client-sdk" + }, + "ruby-server-sdk": { + "github": "launchdarkly/ruby-server-sdk" + }, + "rust-server-sdk": { + "github": "launchdarkly/rust-server-sdk" + }, + "vercel-client-sdk": { + "github": "launchdarkly/js-core" + }, + "vue-client-sdk": { + "github": "launchdarkly/vue-client-sdk" + } +} diff --git a/schemas/repos.json b/schemas/repos.json new file mode 100644 index 0000000..6f4fb10 --- /dev/null +++ b/schemas/repos.json @@ -0,0 +1,29 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://launchdarkly.com/sdk-meta/repos.json", + "title": "SDK Repos", + "description": "List of SDK source repositories", + "type": "object", + "$defs": { + "SDKRepoMap" : { + "type": "object", + "description": "Map of source repositories for an SDK", + "required" : ["github"], + "properties": { + "github": { + "$ref": "#/$defs/GithubRepoPath" + } + } + }, + "GithubRepoPath" : { + "type": "string", + "description": "An individual Github repo identifier of the form org/repo", + "pattern": "^[a-z-]+/[a-z-]+$" + } + }, + "patternProperties" : { + "^[a-z-]+$" : { + "$ref" : "#/$defs/SDKRepoMap" + } + } +} diff --git a/scripts/ci/check-json-schemas.sh b/scripts/ci/check-json-schemas.sh index a4ecb88..a7d8571 100755 --- a/scripts/ci/check-json-schemas.sh +++ b/scripts/ci/check-json-schemas.sh @@ -24,3 +24,4 @@ runTest ./schemas/features.json ./data/features.json runTest ./schemas/types.json ./data/types.json runTest ./schemas/names.json ./data/names.json runTest ./schemas/languages.json ./data/languages.json +runTest ./schemas/repos.json ./data/repos.json