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

@cwqt/refract

Package Overview
Dependencies
Maintainers
1
Versions
34
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@cwqt/refract - npm Package Compare versions

Comparing version 1.0.0 to 1.0.1

66

dist/codegen/index.js

@@ -26,2 +26,3 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {

const Types = __importStar(require("../types"));
const perf_hooks_1 = require("perf_hooks");
const block_1 = require("./block");

@@ -32,26 +33,47 @@ const transform_1 = require("./transform");

const dedent_1 = require("./dedent");
const types_1 = require("../types");
exports.default = (config) => {
const start = perf_hooks_1.performance.now();
(0, types_1.validate)(config);
config.schema = config.schema.map(model => (['Field', 'Relation'].forEach(v => (0, utils_1.del)(model, v)), model));
return (0, dedent_1.dedent) `
${(0, block_1.header)(`refract - ${process.env.npm_package_version}`)}
${(0, block_1.header)('datasource')}
${(0, block_1.block)('database db', (0, transform_1.kv)(config.datasource))}
${(0, block_1.header)('generators')}
${config.generators
.map(generator => (0, block_1.block)(`generator ${generator.name}`, (0, transform_1.kv)((0, utils_1.del)(generator, 'name'))))
.join('\n')}
${(0, block_1.header)('enums')}
${config.schema
.filter(Types.Blocks.isEnum)
.map(e => (0, block_1.block)(`enum ${e.name}`, e.columns.map(c => `\t${c.name}`).join(',\n')))
.join('\n\n')}
${(0, block_1.header)('models')}
${config.schema
.filter(Types.Blocks.isModel)
.map(model => (0, block_1.block)(`model ${model.name}`, model.columns.map(column_1.column).join('\n')))
.join('\n\n')}
`;
const enums = config.schema.filter(Types.Blocks.isEnum);
const models = config.schema.filter(Types.Blocks.isModel);
const generators = config.generators;
const datasource = config.datasource;
const schema = (0, dedent_1.dedent)([
(0, block_1.header)('datasource'),
(0, block_1.block)('datasource db', (0, transform_1.kv)(datasource)),
generators.length
? [
(0, block_1.header)('generators'),
config.generators
.map(generator => (0, block_1.block)(`generator ${generator.name}`, (0, transform_1.kv)((0, utils_1.del)(generator, 'name'))))
.join('\n'),
]
: null,
enums.length
? [
(0, block_1.header)('enums'),
enums
.map(e => (0, block_1.block)(`enum ${e.name}`, e.columns.map(c => `\t${c.name}`).join(',\n')))
.join('\n\n'),
]
: null,
models.length
? [
(0, block_1.header)('models'),
models
.map(model => (0, block_1.block)(`model ${model.name}`, model.columns.map(column_1.column).join('\n')))
.join('\n\n'),
]
: null,
]
.filter(utils_1.nonNullable)
.flat()
.join('\n\n'));
const end = perf_hooks_1.performance.now();
return [
(0, block_1.header)(`refract 1.0.1 - generated in ${(end - start).toFixed(3)} ms`),
schema,
].join('\n');
};

@@ -11,4 +11,7 @@ Object.defineProperty(exports, "__esModule", { value: true });

switch (typeof value) {
case 'string':
case 'string': {
if (value.endsWith('()'))
return value;
return `"${value}"`;
}
case 'number':

@@ -15,0 +18,0 @@ return value.toString();

import { Block } from './blocks';
export declare type Datasource = {
provider: 'postgresql' | 'mysql' | 'sqlite' | 'sqlserver' | 'mongodb';
provider: 'postgresql' | 'mysql' | 'sqlite' | 'sqlserver';
url: string;

@@ -8,2 +8,3 @@ shadowDatabaseUrl?: string;

};
declare type PreviewFeatures = 'filterJson' | 'interactiveTransactions' | 'fullTextSearch' | 'referentialIntegrity' | 'dataProxy' | 'extendedIndexes' | 'fullTextIndex' | 'cockroachdb';
export declare type Generator = {

@@ -13,3 +14,3 @@ name: string;

output?: string;
previewFeatures?: string[];
previewFeatures?: PreviewFeatures[];
engineType?: 'library' | 'binary';

@@ -24,1 +25,3 @@ binaryTargets?: string[];

};
export declare const validate: (config: Config) => void;
export {};
Object.defineProperty(exports, "__esModule", { value: true });
exports.validate = void 0;
const validate = (config) => {
if (config.datasource.referentialIntegrity) {
if (!config.generators.some(g => g.previewFeatures.includes('referentialIntegrity')))
throw new Error("Must have a generator with the 'referentialIntegrity' preview feature enabled to use referential integrity in the datasource");
}
};
exports.validate = validate;
{
"name": "@cwqt/refract",
"version": "1.0.0",
"version": "1.0.1",
"description": "A TypeScript CDK for Prisma",

@@ -5,0 +5,0 @@ "author": "cwqt",

@@ -18,10 +18,10 @@ # refract

// inspired from from: https://www.prisma.io/docs/concepts/components/prisma-schema#example
const Role = Enum("Role", ["USER", "ADMIN"] as const);
const Role = Enum('Role', ['USER', 'ADMIN'] as const);
const Post = Model("Post");
const User = Model("User");
const Post = Model('Post');
const User = Model('User');
const Timestamps = Mixin()
.Field("createdAt", DateTime(Default("now()")))
.Field("updatedAt", DateTime(UpdatedAt));
.Field('createdAt', DateTime(Default('now()')))
.Field('updatedAt', DateTime(UpdatedAt));

@@ -63,3 +63,3 @@ // prettier-ignore

shadowDatabaseUrl: process.env.PG_SHADOW_URL,
referentialIntegrity: true,
referentialIntegrity: 'prisma',
},

@@ -66,0 +66,0 @@ generators: [

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