Conversation
Move to a dedicated folder `specs` so that they are not cluttering the root directory any more.
TypeScript initially with Kiota generation integration.
The OpenAPI files moved to a sub-directory, fixes the check process.
Create code, license, build process, readme, and structure. This process is able to build SDKs based on the OpenAPI specs in the specs folder. The SDK folder needs to be generated locally as it is generated content. The project is structured as a mono repo with a shared TS Config.
Configure VS Code to be project friendly.
Create a pipeline that builds and publishes the SDKs. The pipeline is designed to reduce surface area for attack for the publish secrets against malicious build dependencies.
|
New dependencies detected. Learn more about Socket for GitHub ↗︎
|
|
🚨 Potential security issues detected. Learn more about Socket for GitHub ↗︎ To accept the risk, merge this PR and you will not be notified again.
Next stepsWhat are unmaintained packages?Package has not been updated in more than 5 years and may be unmaintained. Problems with the package may go unaddressed. Package should publish periodic maintenance releases if they are maintained, or deprecate if they have no intention in further maintenance. What is shell access?This module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code. Packages should avoid accessing the shell which can reduce portability, and make it easier for malicious shell access to be introduced. What do I need to know about license files?(Experimental) Something that seems like a license was found, but its contents could not be matched with a known license. Manually review the license contents. What is dynamic require?Dynamic require can indicate the package is performing dangerous or unsafe dynamic code execution. Packages should avoid dynamic imports when possible. Audit the use of dynamic require to ensure it is not executing malicious or vulnerable code. Take a deeper look at the dependencyTake a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support [AT] socket [DOT] dev. Remove the packageIf you happen to install a dependency that Socket reports as Known Malware you should immediately remove it and select a different dependency. For other alert types, you may may wish to investigate alternative packages or consider if there are other ways to mitigate the specific risk posed by the dependency. Mark a package as acceptable riskTo ignore an alert, reply with a comment starting with
|
There was a problem hiding this comment.
Pull Request Overview
This PR introduces automated SDK generation and publication for both the SHIELD and Data Gateway services, reducing the burden on individual projects to manage their own client code.
- Adds factory functions and documentation for the SHIELD and Data Gateway TypeScript SDKs.
- Updates GitHub workflows to validate, generate, build, and publish the SDKs, including an upgrade of the Node.js version and refinement of file search paths.
Reviewed Changes
Copilot reviewed 9 out of 19 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| src/shield/TypeScript/index.ts | Implements shieldClientFactory for the SHIELD SDK initialization. |
| src/shield/TypeScript/README.md | Provides documentation and usage examples for the SHIELD SDK. |
| src/dataGateway/TypeScript/index.ts | Adds dataGatewayClientFactory for Data Gateway SDK initialization. |
| src/dataGateway/TypeScript/README.md | Documents and provides usage instructions for the Data Gateway SDK. |
| .github/workflows/Validate.yml | Updates Node.js version and restricts JSON spec file search path. |
| .github/workflows/GenerateSdk.yml | Adds a workflow for generating, building, and publishing the SDKs. |
Files not reviewed (10)
- OpenAPI.code-workspace: Language not supported
- specs/Data-Gateway.json: Language not supported
- specs/SHIELD.json: Language not supported
- src/dataGateway/TypeScript/LICENSE: Language not supported
- src/dataGateway/TypeScript/package.json: Language not supported
- src/dataGateway/TypeScript/tsconfig.json: Language not supported
- src/shield/TypeScript/LICENSE: Language not supported
- src/shield/TypeScript/package.json: Language not supported
- src/shield/TypeScript/tsconfig.json: Language not supported
- tsconfig.base.json: Language not supported
Generate and publish SDK clients automatically so that projects don't have to manage their own client code or have submodules.