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.15.4 to 0.15.5

4

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

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

"dependencies": {
"@compas/stdlib": "0.15.4"
"@compas/stdlib": "0.15.5"
},

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

@@ -32,2 +32,6 @@ import { fileBlockEnd, fileBlockStart } from "../file/block.js";

typeImportCollector: new JavascriptImportCollector(true),
contents:
generateContext.options.generators.router ?
`// @ts-nocheck\n\n`
: undefined,
},

@@ -77,3 +81,58 @@ );

);
if (generateContext.options.generators.router) {
importCollector.destructure("@compas/stdlib", "AppError");
importCollector.destructure("@compas/stdlib", "streamToBuffer");
fileWrite(
file,
`/**
* Adds an interceptor to the provided Axios instance, wrapping any error in an AppError.
* This allows directly testing against an error key or property.
*/
export function axiosInterceptErrorAndWrapWithAppError(axiosInstance: AxiosInstance) {
axiosInstance.interceptors.response.use(undefined, async (error) => {
// Validator error
if (AppError.instanceOf(error)) {
// If it is an AppError already, it most likely is thrown by the response
// validators. So we rethrow it as is.
throw error;
}
if (typeof error?.response?.data?.pipe === "function") {
const buffer = await streamToBuffer(error.response.data);
try {
error.response.data = JSON.parse(buffer.toString("utf-8"));
} catch {
// Unknown error
throw new AppError(
\`response.error\`,
error.response?.status ?? 500,
{
message:
"Could not decode the response body for further information.",
},
error,
);
}
}
// Server AppError
const { key, info } = error.response?.data ?? {};
if (typeof key === "string" && !!info && typeof info === "object") {
throw new AppError(key, error.response.status, info, error);
}
// Unknown error
throw new AppError(
\`response.error\`,
error.response?.status ?? 500,
AppError.format(error),
);
});
}
`,
);
}
}

@@ -80,0 +139,0 @@ /**

@@ -33,6 +33,2 @@ import { isNil } from "@compas/stdlib";

export function crudEventsGenerate(generateContext) {
if (generateContext.options.targetLanguage !== "js") {
return;
}
if (isNil(generateContext.options.generators.router?.target?.library)) {

@@ -100,5 +96,10 @@ return;

function crudEventsFile(generateContext, crud) {
return fileContextCreateGeneric(generateContext, `${crud.group}/events.js`, {
importCollector: new JavascriptImportCollector(),
});
return fileContextCreateGeneric(
generateContext,
`${crud.group}/events.${generateContext.options.targetLanguage}`,
{
importCollector: new JavascriptImportCollector(),
contents: "// @ts-nocheck\n\n",
},
);
}

@@ -105,0 +106,0 @@

@@ -39,6 +39,2 @@ import { isNil } from "@compas/stdlib";

export function crudHandlersGenerate(generateContext) {
if (generateContext.options.targetLanguage !== "js") {
return;
}
if (isNil(generateContext.options.generators.router?.target?.library)) {

@@ -64,5 +60,10 @@ return;

function crudHandlersFile(generateContext, crud) {
return fileContextCreateGeneric(generateContext, `${crud.group}/crud.js`, {
importCollector: new JavascriptImportCollector(),
});
return fileContextCreateGeneric(
generateContext,
`${crud.group}/crud.${generateContext.options.targetLanguage}`,
{
importCollector: new JavascriptImportCollector(),
contents: "// @ts-nocheck\n\n",
},
);
}

@@ -69,0 +70,0 @@

@@ -41,3 +41,3 @@ import { isNil } from "@compas/stdlib";

generateContext,
"common/database.js",
"common/database.ts",
{

@@ -58,2 +58,3 @@ importCollector: new JavascriptImportCollector(),

helperImportCollector.destructure("@compas/stdlib", "AppError");
helperTypeImportCollector.destructure("@compas/store", "Postgres");
helperTypeImportCollector.destructure("@compas/store", "QueryPart");

@@ -1177,3 +1178,3 @@ helperTypeImportCollector.destructure("@compas/store", "WrappedQueryPart");

file,
`export function query${upperCaseFirst(model.name)}<QueryBuilder extends ${contextNames.queryBuilderType.inputType}>(input: QueryBuilder = {}): WrappedQueryResult<${fullTypeName}QueryResolver<QueryBuilder>>`,
`export function query${upperCaseFirst(model.name)}<QueryBuilder extends ${contextNames.queryBuilderType.inputType}>(input?: QueryBuilder): WrappedQueryResult<${fullTypeName}QueryResolver<QueryBuilder>>`,
);

@@ -1184,3 +1185,3 @@

file,
`const { error, value: validatedInput } = ${contextNames.queryBuilderType.validatorFunction}(input);`,
`const { error, value: validatedInput } = ${contextNames.queryBuilderType.validatorFunction}(input ?? {});`,
);

@@ -1205,3 +1206,3 @@ fileBlockStart(file, `if (error)`);

Object.keys(model.keys).length
}, });`,
}, }) as unknown as WrappedQueryResult<${fullTypeName}QueryResolver<QueryBuilder>>;`,
);

@@ -1208,0 +1209,0 @@

@@ -1392,1 +1392,3 @@ // Generated by @compas/code-gen

|StructureRouteInvalidationDefinitionInput;

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

validatorExpression: `isQueryPart($value$)`,
validatorInputType: `(QueryPart)`,
validatorOutputType: `(QueryPart)`,
validatorInputType: `(import("@compas/store").QueryPart)`,
validatorOutputType: `(import("@compas/store").QueryPart)`,
},
});
}
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