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

@brakebein/prisma-generator-nestjs-dto

Package Overview
Dependencies
Maintainers
0
Versions
62
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@brakebein/prisma-generator-nestjs-dto - npm Package Compare versions

Comparing version 1.24.0-beta0 to 1.24.0-beta1

dist/generator/generate-enums.d.ts

1

dist/generator/api-decorator.js

@@ -104,2 +104,3 @@ "use strict";

properties.push({ name: 'enum', value: field.type });
properties.push({ name: 'enumName', value: field.type });
}

@@ -106,0 +107,0 @@ const defaultValue = getDefaultValue(field);

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.computeConnectDtoParams = void 0;
const slash_1 = __importDefault(require("slash"));
const node_path_1 = __importDefault(require("node:path"));
const field_classifiers_1 = require("../field-classifiers");

@@ -87,6 +92,12 @@ const helpers_1 = require("../helpers");

field.type = 'Float';
if (field.kind === 'enum') {
imports.push({
from: (0, slash_1.default)(`${(0, helpers_1.getRelativePath)(model.output.entity, templateHelpers.config.outputPath)}${node_path_1.default.sep}enums`),
destruct: [field.type],
});
}
}
return (0, helpers_1.mapDMMFToParsedField)(field, overrides, decorators);
});
const importPrismaClient = (0, helpers_1.makeImportsFromPrismaClient)(fields, templateHelpers.config.prismaClientImportPath);
const importPrismaClient = (0, helpers_1.makeImportsFromPrismaClient)(fields, templateHelpers.config.prismaClientImportPath, !templateHelpers.config.noDependencies);
const importNestjsSwagger = (0, api_decorator_1.makeImportsFromNestjsSwagger)(fields, apiExtraModels);

@@ -93,0 +104,0 @@ const importClassValidator = (0, class_validator_1.makeImportsFromClassValidator)(classValidators);

@@ -69,4 +69,8 @@ "use strict";

return result;
if ((0, field_classifiers_1.isRequiredWithDefaultValue)(field))
return result;
if ((0, field_classifiers_1.isRequiredWithDefaultValue)(field)) {
if (templateHelpers.config.showDefaultValues)
overrides.isRequired = false;
else
return result;
}
}

@@ -139,6 +143,12 @@ if (isDtoOptional) {

field.type = 'Float';
if (field.kind === 'enum') {
imports.push({
from: (0, slash_1.default)(`${(0, helpers_1.getRelativePath)(model.output.entity, templateHelpers.config.outputPath)}${node_path_1.default.sep}enums`),
destruct: [field.type],
});
}
}
return [...result, (0, helpers_1.mapDMMFToParsedField)(field, overrides, decorators)];
}, []);
const importPrismaClient = (0, helpers_1.makeImportsFromPrismaClient)(fields, templateHelpers.config.prismaClientImportPath);
const importPrismaClient = (0, helpers_1.makeImportsFromPrismaClient)(fields, templateHelpers.config.prismaClientImportPath, !templateHelpers.config.noDependencies);
const importNestjsSwagger = (0, api_decorator_1.makeImportsFromNestjsSwagger)(fields, apiExtraModels);

@@ -145,0 +155,0 @@ const importClassValidator = (0, class_validator_1.makeImportsFromClassValidator)(classValidators);

@@ -112,6 +112,12 @@ "use strict";

field.type = 'Float';
if (field.kind === 'enum') {
imports.push({
from: (0, slash_1.default)(`${(0, helpers_1.getRelativePath)(model.output.entity, templateHelpers.config.outputPath)}${node_path_1.default.sep}enums`),
destruct: [field.type],
});
}
}
return [...result, (0, helpers_1.mapDMMFToParsedField)(field, overrides, decorators)];
}, []);
const importPrismaClient = (0, helpers_1.makeImportsFromPrismaClient)(fields, templateHelpers.config.prismaClientImportPath);
const importPrismaClient = (0, helpers_1.makeImportsFromPrismaClient)(fields, templateHelpers.config.prismaClientImportPath, !templateHelpers.config.noDependencies);
const importNestjsSwagger = (0, api_decorator_1.makeImportsFromNestjsSwagger)(fields, apiExtraModels);

@@ -118,0 +124,0 @@ return {

@@ -79,6 +79,12 @@ "use strict";

field.type = 'Float';
if (field.kind === 'enum') {
imports.push({
from: (0, slash_1.default)(`${(0, helpers_1.getRelativePath)(model.output.entity, templateHelpers.config.outputPath)}${node_path_1.default.sep}enums`),
destruct: [field.type],
});
}
}
return [...result, (0, helpers_1.mapDMMFToParsedField)(field, overrides, decorators)];
}, []);
const importPrismaClient = (0, helpers_1.makeImportsFromPrismaClient)(fields, templateHelpers.config.prismaClientImportPath);
const importPrismaClient = (0, helpers_1.makeImportsFromPrismaClient)(fields, templateHelpers.config.prismaClientImportPath, !templateHelpers.config.noDependencies);
const importNestjsSwagger = (0, api_decorator_1.makeImportsFromNestjsSwagger)(fields, apiExtraModels);

@@ -85,0 +91,0 @@ return {

@@ -70,4 +70,8 @@ "use strict";

return result;
if ((0, field_classifiers_1.isRequiredWithDefaultValue)(field))
return result;
if ((0, field_classifiers_1.isRequiredWithDefaultValue)(field)) {
if (templateHelpers.config.showDefaultValues)
overrides.isRequired = false;
else
return result;
}
}

@@ -149,6 +153,12 @@ if ((0, field_classifiers_1.isAnnotatedWith)(field, annotations_1.DTO_UPDATE_REQUIRED)) {

field.type = 'Float';
if (field.kind === 'enum') {
imports.push({
from: (0, slash_1.default)(`${(0, helpers_1.getRelativePath)(model.output.entity, templateHelpers.config.outputPath)}${node_path_1.default.sep}enums`),
destruct: [field.type],
});
}
}
return [...result, (0, helpers_1.mapDMMFToParsedField)(field, overrides, decorators)];
}, []);
const importPrismaClient = (0, helpers_1.makeImportsFromPrismaClient)(fields, templateHelpers.config.prismaClientImportPath);
const importPrismaClient = (0, helpers_1.makeImportsFromPrismaClient)(fields, templateHelpers.config.prismaClientImportPath, !templateHelpers.config.noDependencies);
const importNestjsSwagger = (0, api_decorator_1.makeImportsFromNestjsSwagger)(fields, apiExtraModels);

@@ -155,0 +165,0 @@ const importClassValidator = (0, class_validator_1.makeImportsFromClassValidator)(classValidators);

2

dist/generator/helpers.d.ts

@@ -10,3 +10,3 @@ import type { DMMF } from '@prisma/generator-helper';

}>(source: T[], target: T[], prop: string): void;
export declare const makeImportsFromPrismaClient: (fields: ParsedField[], prismaClientImportPath: string) => ImportStatementParams[];
export declare const makeImportsFromPrismaClient: (fields: ParsedField[], prismaClientImportPath: string, importEnums?: boolean) => ImportStatementParams[];
export declare const mapDMMFToParsedField: (field: DMMF.Field, overrides?: Partial<DMMF.Field>, decorators?: IDecorators) => ParsedField;

@@ -13,0 +13,0 @@ export declare const getRelationScalars: (fields: DMMF.Field[]) => Record<string, string[]>;

@@ -25,4 +25,6 @@ "use strict";

exports.concatUniqueIntoArray = concatUniqueIntoArray;
const makeImportsFromPrismaClient = (fields, prismaClientImportPath) => {
const enumsToImport = (0, exports.uniq)(fields.filter(({ kind }) => kind === 'enum').map(({ type }) => type));
const makeImportsFromPrismaClient = (fields, prismaClientImportPath, importEnums = true) => {
const enumsToImport = importEnums
? (0, exports.uniq)(fields.filter(({ kind }) => kind === 'enum').map(({ type }) => type))
: [];
const importPrisma = fields

@@ -29,0 +31,0 @@ .filter(({ kind }) => kind === 'scalar')

@@ -25,4 +25,5 @@ import { DMMF } from '@prisma/generator-helper';

wrapRelationsAsType: boolean;
showDefaultValues: boolean;
}
export declare const run: ({ output, dmmf, ...options }: RunParam) => WriteableFileSpecs[];
export {};

@@ -18,6 +18,7 @@ "use strict";

const generate_plain_dto_1 = require("./generate-plain-dto");
const generate_enums_1 = require("./generate-enums");
const annotations_1 = require("./annotations");
const field_classifiers_1 = require("./field-classifiers");
const run = ({ output, dmmf, ...options }) => {
const { exportRelationModifierClasses, outputToNestJsResourceStructure, flatResourceStructure, fileNamingStyle = 'camel', classValidation, outputType, noDependencies, definiteAssignmentAssertion, requiredResponseApiProperty, prismaClientImportPath, outputApiPropertyType, generateFileTypes, wrapRelationsAsType, ...preAndSuffixes } = options;
const { exportRelationModifierClasses, outputToNestJsResourceStructure, flatResourceStructure, fileNamingStyle = 'camel', classValidation, outputType, noDependencies, definiteAssignmentAssertion, requiredResponseApiProperty, prismaClientImportPath, outputApiPropertyType, generateFileTypes, wrapRelationsAsType, showDefaultValues, ...preAndSuffixes } = options;
const transformers = {

@@ -37,2 +38,3 @@ camel: case_1.camel,

definiteAssignmentAssertion,
outputPath: output,
prismaClientImportPath,

@@ -42,2 +44,3 @@ requiredResponseApiProperty,

wrapRelationsAsType,
showDefaultValues,
...preAndSuffixes,

@@ -80,2 +83,10 @@ });

}));
const enumFiles = [];
if (noDependencies) {
(0, utils_1.logger)('Processing enums');
enumFiles.push({
fileName: node_path_1.default.join(output, 'enums.ts'),
content: (0, generate_enums_1.generateEnums)(dmmf.datamodel.enums),
});
}
const typeFiles = filteredTypes.map((model) => {

@@ -169,4 +180,4 @@ (0, utils_1.logger)(`Processing Type ${model.name}`);

});
return [...typeFiles, ...modelFiles].flat();
return [...typeFiles, ...modelFiles, ...enumFiles].flat();
};
exports.run = run;

@@ -23,7 +23,9 @@ import { ImportStatementParams, ParsedField } from './types';

requiredResponseApiProperty: boolean;
outputPath: string;
prismaClientImportPath: string;
outputApiPropertyType: boolean;
wrapRelationsAsType: boolean;
showDefaultValues: boolean;
}
export declare const makeHelpers: ({ connectDtoPrefix, createDtoPrefix, updateDtoPrefix, dtoSuffix, entityPrefix, entitySuffix, transformClassNameCase, transformFileNameCase, classValidation, outputType, noDependencies, definiteAssignmentAssertion, requiredResponseApiProperty, prismaClientImportPath, outputApiPropertyType, wrapRelationsAsType, }: MakeHelpersParam) => {
export declare const makeHelpers: ({ connectDtoPrefix, createDtoPrefix, updateDtoPrefix, dtoSuffix, entityPrefix, entitySuffix, transformClassNameCase, transformFileNameCase, classValidation, outputType, noDependencies, definiteAssignmentAssertion, requiredResponseApiProperty, outputPath, prismaClientImportPath, outputApiPropertyType, wrapRelationsAsType, showDefaultValues, }: MakeHelpersParam) => {
config: {

@@ -41,5 +43,7 @@ connectDtoPrefix: string;

requiredResponseApiProperty: boolean;
outputPath: string;
prismaClientImportPath: string;
outputApiPropertyType: boolean;
wrapRelationsAsType: boolean;
showDefaultValues: boolean;
};

@@ -46,0 +50,0 @@ apiExtraModels: (names: string[]) => string;

@@ -66,3 +66,3 @@ "use strict";

exports.importStatements = importStatements;
const makeHelpers = ({ connectDtoPrefix, createDtoPrefix, updateDtoPrefix, dtoSuffix, entityPrefix, entitySuffix, transformClassNameCase = exports.echo, transformFileNameCase = exports.echo, classValidation, outputType, noDependencies, definiteAssignmentAssertion, requiredResponseApiProperty, prismaClientImportPath, outputApiPropertyType, wrapRelationsAsType, }) => {
const makeHelpers = ({ connectDtoPrefix, createDtoPrefix, updateDtoPrefix, dtoSuffix, entityPrefix, entitySuffix, transformClassNameCase = exports.echo, transformFileNameCase = exports.echo, classValidation, outputType, noDependencies, definiteAssignmentAssertion, requiredResponseApiProperty, outputPath, prismaClientImportPath, outputApiPropertyType, wrapRelationsAsType, showDefaultValues, }) => {
const className = (name, prefix = '', suffix = '') => `${prefix}${transformClassNameCase(name)}${suffix}`;

@@ -108,5 +108,6 @@ const fileName = (name, prefix = '', suffix = '', withExtension = false) => `${prefix}${transformFileNameCase(name)}${suffix}${(0, exports.when)(withExtension, '.ts')}`;

? field.type
: ((field.relationName
: (field.relationName
? entityName(field.type)
: dtoName(field.type, doFullUpdate ? 'create' : dtoType)) + (0, exports.when)(wrapRelationsAsType, 'AsType')))}${(0, exports.when)(field.isList, '[]')}`;
: dtoName(field.type, doFullUpdate ? 'create' : dtoType)) +
(0, exports.when)(wrapRelationsAsType, 'AsType'))}${(0, exports.when)(field.isList, '[]')}`;
};

@@ -132,5 +133,7 @@ const fieldToDtoProp = (field, dtoType, useInputTypes = false, forceOptional = false) => `${(0, api_decorator_1.decorateApiProperty)(field)}${(0, class_validator_1.decorateClassValidators)(field)}${field.name}${(0, exports.unless)(field.isRequired && !forceOptional, '?', (0, exports.when)(definiteAssignmentAssertion, '!'))}: ${fieldType(field, dtoType, useInputTypes)} ${(0, exports.when)(field.isNullable, ' | ' +

requiredResponseApiProperty,
outputPath,
prismaClientImportPath,
outputApiPropertyType,
wrapRelationsAsType,
showDefaultValues,
},

@@ -137,0 +140,0 @@ apiExtraModels,

@@ -1,2 +0,2 @@

import type { GeneratorOptions } from '@prisma/generator-helper';
import { GeneratorOptions } from '@prisma/generator-helper';
export declare const generate: (options: GeneratorOptions) => Promise<void[]>;

@@ -76,2 +76,3 @@ "use strict";

const wrapRelationsAsType = stringToBoolean(options.generator.config.wrapRelationsAsType, false);
const showDefaultValues = stringToBoolean(options.generator.config.showDefaultValues, false);
const results = (0, generator_1.run)({

@@ -99,2 +100,3 @@ output,

wrapRelationsAsType,
showDefaultValues,
});

@@ -116,9 +118,14 @@ const indexCollections = {};

const content = [];
Object.keys(indexCollections)
.sort()
.forEach((dirName) => {
const base = dirName
.split(/[\\\/]/)
.slice(flatResourceStructure ? -1 : -2);
content.push(`export * from './${base[0]}${base[1] ? '/' + base[1] : ''}';`);
Object.entries(indexCollections)
.sort((a, b) => a[0].localeCompare(b[0]))
.forEach(([dirName, file]) => {
if (output === dirName) {
content.push(file.content);
}
else {
const base = dirName
.split(/[\\\/]/)
.slice(flatResourceStructure ? -1 : -2);
content.push(`export * from './${base[0]}${base[1] ? '/' + base[1] : ''}';`);
}
});

@@ -125,0 +132,0 @@ indexCollections[output] = {

{
"name": "@brakebein/prisma-generator-nestjs-dto",
"description": "Generates DTO and Entity classes from Prisma Schema for NestJS",
"version": "1.24.0-beta0",
"version": "1.24.0-beta1",
"license": "Apache-2.0",

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

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