New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@compas/code-gen

Package Overview
Dependencies
Maintainers
0
Versions
202
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@compas/code-gen - npm Package Compare versions

Comparing version 0.12.4 to 0.13.0

4

package.json
{
"name": "@compas/code-gen",
"version": "0.12.4",
"version": "0.13.0",
"description": "Generate various boring parts of your server",

@@ -24,3 +24,3 @@ "exports": {

"dependencies": {
"@compas/stdlib": "0.12.4"
"@compas/stdlib": "0.13.0"
},

@@ -27,0 +27,0 @@ "author": {

@@ -7,1 +7,5 @@ /**

export function openApiGenerate(generateContext: import("../generate.js").GenerateContext): void;
/**
* @param {import("../generate.js").GenerateContext} generateContext
*/
export function openApiBuildFile(generateContext: import("../generate.js").GenerateContext): any;

@@ -34,3 +34,3 @@ import { readFileSync } from "node:fs";

*/
function openApiBuildFile(generateContext) {
export function openApiBuildFile(generateContext) {
const openApiSpec = merge(

@@ -37,0 +37,0 @@ {

@@ -14,1 +14,8 @@ /**

export function routeStructureGet(generateContext: import("../generate.js").GenerateContext): string;
/**
* Get the saved route structure in OpenApi format
*
* @param {import("../generate.js").GenerateContext} generateContext
* @returns {string}
*/
export function routeStructureGetOpenApi(generateContext: import("../generate.js").GenerateContext): string;

@@ -1,3 +0,10 @@

import { AnyType, RouteBuilder } from "../builders/index.js";
import {
AnyType,
ObjectType,
ReferenceType,
RouteBuilder,
StringType,
} from "../builders/index.js";
import { Generator } from "../generator.js";
import { openApiBuildFile } from "../open-api/generator.js";
import { structureRoutes } from "./routes.js";

@@ -12,2 +19,8 @@ import { structureAddType, structureNamedTypes } from "./structure.js";

const routeStructureCache = new WeakMap();
/**
* Cache the openapi structure string based on the current generate context.
*
* @type {WeakMap<object, string>}
*/
const openApiStructureCache = new WeakMap();

@@ -59,6 +72,37 @@ /**

);
openApiStructureCache.set(
generateContext,
JSON.stringify(
openApiBuildFile({
structure: routesOnlyGenerator.internalStructure,
log: generateContext.log,
files: new Map(),
options: {
targetLanguage: "js",
generators: {
openApi: {
openApiExtensions: {},
openApiRouteExtensions: {},
},
},
},
}),
).replace(/([`\\])/gm, (v) => `\\${v}`),
);
structureAddType(
generateContext.structure,
new ObjectType("compas", "structureQuery")
.keys({
format: new StringType().oneOf("compas", "openapi").default(`"compas"`),
})
.build(),
{
skipReferenceExtraction: false,
},
);
structureAddType(
generateContext.structure,
new RouteBuilder("GET", "compas", "structure", "_compas/structure.json")
.query(new ReferenceType("compas", "structureQuery"))
.response(new AnyType())

@@ -83,1 +127,11 @@ .tags("_compas")

}
/**
* Get the saved route structure in OpenApi format
*
* @param {import("../generate.js").GenerateContext} generateContext
* @returns {string}
*/
export function routeStructureGetOpenApi(generateContext) {
return openApiStructureCache.get(generateContext) ?? "";
}

@@ -11,3 +11,6 @@ import { AnyType } from "../builders/index.js";

import { fileWrite } from "../file/write.js";
import { routeStructureGet } from "../processors/route-structure.js";
import {
routeStructureGet,
routeStructureGetOpenApi,
} from "../processors/route-structure.js";
import { JavascriptImportCollector } from "../target/javascript.js";

@@ -437,3 +440,7 @@ import { typesCacheGet } from "../types/cache.js";

if (ctx.validatedQuery.format === "compas") {
ctx.body = \`${routeStructureGet(generateContext)}\`;
} else if (ctx.validatedQuery.format === "openapi") {
ctx.body = \`${routeStructureGetOpenApi(generateContext)}\`;
}
};

@@ -440,0 +447,0 @@ `,

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc