@cerebruminc/yates 3.3.2-beta.dangerous.2d11492 → 3.3.2-beta.dangerous.2fec467

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"ast-fragments.js","sourceRoot":"","sources":["../src/ast-fragments.ts"],"names":[],"mappings":";;;AAAA,mCAAyC;AAEzC;;;;GAIG;AACI,IAAM,yBAAyB,GAAG,UAAC,OAAe;IACxD,OAAO;QACN,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,KAAK;QACX,IAAI,EAAE;YACL,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE;gBACN;oBACC,GAAG,EAAE;wBACJ,IAAI,EAAE,IAAI;wBACV,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,IAAI;wBACb,QAAQ,EAAE;4BACT,IAAI,EAAE,IAAI;yBACV;wBACD,OAAO,EAAE;4BACR;gCACC,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE;oCACL,IAAI,EAAE,UAAU;oCAChB,IAAI,EAAE,2BAA2B;oCACjC,IAAI,EAAE;wCACL,IAAI,EAAE,WAAW;wCACjB,KAAK,EAAE;4CACN;gDACC,IAAI,EAAE,MAAM;gDACZ,OAAO,EAAE,MAAM;gDACf,IAAI,EAAE;oDACL,IAAI,EAAE,UAAU;oDAChB,IAAI,EAAE,iBAAiB;oDACvB,IAAI,EAAE;wDACL,IAAI,EAAE,WAAW;wDACjB,KAAK,EAAE;4DACN;gEACC,IAAI,EAAE,WAAW;gEACjB,KAAK,EAAE,IAAA,sBAAa,EAAC,OAAO,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;6DAC/D;yDACD;qDACD;iDACD;gDACD,EAAE,EAAE,IAAI;gDACR,MAAM,EAAE,IAAI;gDACZ,MAAM,EAAE;oDACP,QAAQ,EAAE,OAAO;iDACjB;gDACD,MAAM,EAAE,EAAE;gDACV,UAAU,EAAE,EAAE;6CACd;yCACD;qCACD;iCACD;gCACD,EAAE,EAAE,IAAI;6BACR;yBACD;wBACD,IAAI,EAAE;4BACL,QAAQ,EAAE,IAAI;yBACd;wBACD,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,IAAI;wBACX,OAAO,EAAE,IAAI;wBACb,MAAM,EAAE,IAAI;wBACZ,OAAO,EAAE,IAAI;wBACb,KAAK,EAAE;4BACN,SAAS,EAAE,EAAE;4BACb,KAAK,EAAE,EAAE;yBACT;wBACD,MAAM,EAAE,IAAI;qBACZ;iBACD;aACD;SACD;KACD,CAAC;AACH,CAAC,CAAC;AAxEW,QAAA,yBAAyB,6BAwEpC"}
1
+ {"version":3,"file":"ast-fragments.js","sourceRoot":"","sources":["../src/ast-fragments.ts"],"names":[],"mappings":";;;AAAA,mCAAyC;AAEzC;;;;GAIG;AACI,IAAM,yBAAyB,GAAG,UAAC,OAAe;IACxD,OAAO;QACN,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,KAAK;QACX,IAAI,EAAE;YACL,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE;gBACN;oBACC,GAAG,EAAE;wBACJ,IAAI,EAAE,IAAI;wBACV,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,IAAI;wBACb,QAAQ,EAAE;4BACT,IAAI,EAAE,IAAI;yBACV;wBACD,OAAO,EAAE;4BACR;gCACC,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE;oCACL,IAAI,EAAE,UAAU;oCAChB,IAAI,EAAE,2BAA2B;oCACjC,IAAI,EAAE;wCACL,IAAI,EAAE,WAAW;wCACjB,KAAK,EAAE;4CACN;gDACC,IAAI,EAAE,MAAM;gDACZ,OAAO,EAAE,MAAM;gDACf,IAAI,EAAE;oDACL,IAAI,EAAE,UAAU;oDAChB,IAAI,EAAE,iBAAiB;oDACvB,IAAI,EAAE;wDACL,IAAI,EAAE,WAAW;wDACjB,KAAK,EAAE;4DACN;gEACC,IAAI,EAAE,WAAW;gEACjB,KAAK,EAAE,IAAA,sBAAa,EACnB,OAAO,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CACzC;6DACD;yDACD;qDACD;iDACD;gDACD,EAAE,EAAE,IAAI;gDACR,MAAM,EAAE,IAAI;gDACZ,MAAM,EAAE;oDACP,QAAQ,EAAE,OAAO;iDACjB;gDACD,MAAM,EAAE,EAAE;gDACV,UAAU,EAAE,EAAE;6CACd;yCACD;qCACD;iCACD;gCACD,EAAE,EAAE,IAAI;6BACR;yBACD;wBACD,IAAI,EAAE;4BACL,QAAQ,EAAE,IAAI;yBACd;wBACD,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,IAAI;wBACX,OAAO,EAAE,IAAI;wBACb,MAAM,EAAE,IAAI;wBACZ,OAAO,EAAE,IAAI;wBACb,KAAK,EAAE;4BACN,SAAS,EAAE,EAAE;4BACb,KAAK,EAAE,EAAE;yBACT;wBACD,MAAM,EAAE,IAAI;qBACZ;iBACD;aACD;SACD;KACD,CAAC;AACH,CAAC,CAAC;AA1EW,QAAA,yBAAyB,6BA0EpC"}
package/dist/escape.js CHANGED
@@ -5,9 +5,7 @@
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.escapeLiteral = exports.escapeIdentifier = void 0;
7
7
  // Ported from PostgreSQL 9.2.4 source code in src/interfaces/libpq/fe-exec.c
8
- var escapeIdentifier = function (str) {
9
- return "\"".concat(str.replace(/"/g, '""'), "\"");
10
- };
8
+ var escapeIdentifier = function (str) { return "\"".concat(str.replace(/"/g, '""'), "\""); };
11
9
  exports.escapeIdentifier = escapeIdentifier;
12
10
  // Ported from PostgreSQL 9.2.4 source code in src/interfaces/libpq/fe-exec.c
13
11
  var escapeLiteral = function (str) {
@@ -1 +1 @@
1
- {"version":3,"file":"escape.js","sourceRoot":"","sources":["../src/escape.ts"],"names":[],"mappings":";AAAA,mEAAmE;AACnE,4HAA4H;AAC5H,yJAAyJ;;;AAEzJ,6EAA6E;AACtE,IAAM,gBAAgB,GAAG,UAAU,GAAW;IACpD,OAAO,YAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAG,CAAC;AACvC,CAAC,CAAC;AAFW,QAAA,gBAAgB,oBAE3B;AAEF,6EAA6E;AACtE,IAAM,aAAa,GAAG,UAAU,GAAW;IACjD,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,OAAO,GAAG,GAAG,CAAC;IAElB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;aAAM,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,YAAY,GAAG,IAAI,CAAC;QACrB,CAAC;aAAM,CAAC;YACP,OAAO,IAAI,CAAC,CAAC;QACd,CAAC;IACF,CAAC;IAED,OAAO,IAAI,GAAG,CAAC;IAEf,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC3B,OAAO,GAAG,YAAK,OAAO,CAAE,CAAC;IAC1B,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC;AAvBW,QAAA,aAAa,iBAuBxB"}
1
+ {"version":3,"file":"escape.js","sourceRoot":"","sources":["../src/escape.ts"],"names":[],"mappings":";AAAA,mEAAmE;AACnE,4HAA4H;AAC5H,yJAAyJ;;;AAEzJ,6EAA6E;AACtE,IAAM,gBAAgB,GAAG,UAAC,GAAW,IAAK,OAAA,YAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAG,EAA9B,CAA8B,CAAC;AAAnE,QAAA,gBAAgB,oBAAmD;AAEhF,6EAA6E;AACtE,IAAM,aAAa,GAAG,UAAC,GAAW;IACxC,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,OAAO,GAAG,GAAG,CAAC;IAElB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;aAAM,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,YAAY,GAAG,IAAI,CAAC;QACrB,CAAC;aAAM,CAAC;YACP,OAAO,IAAI,CAAC,CAAC;QACd,CAAC;IACF,CAAC;IAED,OAAO,IAAI,GAAG,CAAC;IAEf,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC3B,OAAO,GAAG,YAAK,OAAO,CAAE,CAAC;IAC1B,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC;AAvBW,QAAA,aAAa,iBAuBxB"}
@@ -1,6 +1,6 @@
1
1
  import { Prisma, PrismaClient } from "@prisma/client";
2
- import { AsyncReturnType } from "type-fest";
3
2
  import { defineDmmfProperty } from "@prisma/client/runtime/library";
3
+ import { AsyncReturnType } from "type-fest";
4
4
  export type RuntimeDataModel = Parameters<typeof defineDmmfProperty>[1];
5
5
  type FFMeta<M extends Prisma.ModelName> = PrismaClient[Uncapitalize<M>]["findFirst"];
6
6
  type ModelWhereArgs<M extends Prisma.ModelName> = Exclude<Parameters<FFMeta<M>>["0"], undefined>["where"];
@@ -63,19 +63,23 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
63
63
  Object.defineProperty(exports, "__esModule", { value: true });
64
64
  exports.expressionToSQL = void 0;
65
65
  var client_1 = require("@prisma/client");
66
- var random_1 = __importDefault(require("lodash/random"));
67
66
  var matches_1 = __importDefault(require("lodash/matches"));
67
+ var random_1 = __importDefault(require("lodash/random"));
68
68
  var node_sql_parser_1 = require("node-sql-parser");
69
- var escape_1 = require("./escape");
70
69
  var ast_fragments_1 = require("./ast-fragments");
70
+ var escape_1 = require("./escape");
71
71
  var PRISMA_NUMERIC_TYPES = ["Int", "BigInt", "Float", "Decimal"];
72
+ // This function is a recursive function that will search through an object and
73
+ // its children to find a matching object.
74
+ // It's used to find a matching AST fragment so that we can replace it with a token
75
+ // biome-ignore lint/suspicious/noExplicitAny: TODO future cleanup
72
76
  var deepFind = function (obj, subObj) {
73
77
  var matcher = (0, matches_1.default)(subObj);
74
78
  for (var key in obj) {
75
79
  if (matcher(obj[key])) {
76
80
  return obj[key];
77
81
  }
78
- else if (typeof obj[key] === "object") {
82
+ if (typeof obj[key] === "object") {
79
83
  var result = deepFind(obj[key], subObj);
80
84
  if (result) {
81
85
  return result;
@@ -83,16 +87,20 @@ var deepFind = function (obj, subObj) {
83
87
  }
84
88
  }
85
89
  };
90
+ // biome-ignore lint/suspicious/noExplicitAny: TODO fix this
86
91
  var expressionRowName = function (col) { return "___yates_row_".concat(col); };
87
92
  var expressionContext = function (context) { return "___yates_context_".concat(context); };
88
93
  // Generate a big 32bit signed integer to use as an ID
89
94
  var getLargeRandomInt = function () { return (0, random_1.default)(1000000000, 2147483647); };
90
95
  var getDmmfMetaData = function (client, model, field) {
91
- var runtimeDataModel = client._runtimeDataModel;
96
+ // biome-ignore lint/suspicious/noExplicitAny: TODO fix this
97
+ var runtimeDataModel = client
98
+ ._runtimeDataModel;
92
99
  var modelData = runtimeDataModel.models[model];
93
100
  if (!modelData) {
94
101
  throw new Error("Could not retrieve model data from Prisma Client for model '".concat(model, "'"));
95
102
  }
103
+ // biome-ignore lint/suspicious/noExplicitAny: TODO fix this
96
104
  var fieldData = modelData.fields.find(function (f) { return f.name === field; });
97
105
  if (!fieldData) {
98
106
  throw new Error("Could not retrieve field data from Prisma Client for field '".concat(model, ".").concat(field, "'"));
@@ -107,6 +115,7 @@ var tokenizeWhereExpression = function (
107
115
  /** The Prisma client to use for metadata */
108
116
  client,
109
117
  /** The Prisma where expression to be tokenized */
118
+ // biome-ignore lint/suspicious/noExplicitAny: TODO fix this
110
119
  where,
111
120
  /** The base table we are generating an expression for */
112
121
  table,
@@ -133,18 +142,18 @@ tokens) {
133
142
  if (fieldData.isList) {
134
143
  for (var subField in value) {
135
144
  var subValue = value[subField];
136
- var _b = tokenizeWhereExpression(client, subValue, table, fieldData.type, tokens), subTokens = _b.tokens, subWhere = _b.where;
137
- tokens = __assign(__assign({}, tokens), subTokens);
138
- where[field][subField] = subWhere;
145
+ var _b = tokenizeWhereExpression(client, subValue, table, fieldData.type, tokens), subTokens_1 = _b.tokens, subWhere_1 = _b.where;
146
+ // biome-ignore lint/style/noParameterAssign: TODO fix this
147
+ tokens = __assign(__assign({}, tokens), subTokens_1);
148
+ where[field][subField] = subWhere_1;
139
149
  }
140
150
  continue;
141
151
  }
142
- else {
143
- var _c = tokenizeWhereExpression(client, value, table, fieldData.type, tokens), subTokens = _c.tokens, subWhere = _c.where;
144
- tokens = __assign(__assign({}, tokens), subTokens);
145
- where[field] = subWhere;
146
- continue;
147
- }
152
+ var _c = tokenizeWhereExpression(client, value, table, fieldData.type, tokens), subTokens = _c.tokens, subWhere = _c.where;
153
+ // biome-ignore lint/style/noParameterAssign: TODO fix this
154
+ tokens = __assign(__assign({}, tokens), subTokens);
155
+ where[field] = subWhere;
156
+ continue;
148
157
  }
149
158
  var isNumeric = PRISMA_NUMERIC_TYPES.includes(fieldData.type);
150
159
  var isColumnName = typeof value === "string" && !!value.match(/^___yates_row_/);
@@ -153,6 +162,7 @@ tokens) {
153
162
  switch (true) {
154
163
  case isColumnName:
155
164
  // Substiture the yates row placeholder for the actual column name
165
+ // biome-ignore lint/correctness/noSwitchDeclarations: TODO fix this
156
166
  var column = value.replace(/^___yates_row_/, "");
157
167
  if (!getDmmfMetaData(client, table, column)) {
158
168
  throw new Error("Invalid field name \"".concat(column, "\""));
@@ -222,6 +232,7 @@ tokens) {
222
232
  try {
223
233
  for (var _d = (e_1 = void 0, __values(value.in)), _e = _d.next(); !_e.done; _e = _d.next()) {
224
234
  var item = _e.value;
235
+ // biome-ignore lint/suspicious/noImplicitAnyLet: TODO fix this
225
236
  var inToken = void 0;
226
237
  do {
227
238
  inToken = getLargeRandomInt();
@@ -247,11 +258,9 @@ tokens) {
247
258
  };
248
259
  continue;
249
260
  }
250
- else {
251
- // If the value of `in` is a context value, we assume that it is an array that has been JSON encoded
252
- // We create an AST fragment representing a function call to `jsonb_array_elements_text` with the context value as the argument
253
- astFragment = (0, ast_fragments_1.jsonb_array_elements_text)(value.in);
254
- }
261
+ // If the value of `in` is a context value, we assume that it is an array that has been JSON encoded
262
+ // We create an AST fragment representing a function call to `jsonb_array_elements_text` with the context value as the argument
263
+ astFragment = (0, ast_fragments_1.jsonb_array_elements_text)(value.in);
255
264
  break;
256
265
  // All other types are treated as strings
257
266
  default:
@@ -303,21 +312,28 @@ var expressionToSQL = function (getExpression, table) { return __awaiter(void 0,
303
312
  },
304
313
  });
305
314
  return [4 /*yield*/, new Promise(
306
- // rome-ignore lint/suspicious/noAsyncPromiseExecutor: future cleanup
315
+ // biome-ignore lint/suspicious/noAsyncPromiseExecutor: future cleanup
307
316
  function (resolve, reject) { return __awaiter(void 0, void 0, void 0, function () {
308
317
  var rawExpression, isSubselect, error_1;
309
318
  return __generator(this, function (_a) {
310
319
  switch (_a.label) {
311
320
  case 0:
312
- rawExpression = getExpression(expressionClient, expressionRowName, expressionContext);
321
+ rawExpression = getExpression(
322
+ // biome-ignore lint/suspicious/noExplicitAny: TODO fix this
323
+ expressionClient,
324
+ // biome-ignore lint/suspicious/noExplicitAny: TODO fix this
325
+ expressionRowName, expressionContext);
313
326
  isSubselect = typeof rawExpression === "object" &&
314
327
  "then" in rawExpression &&
328
+ // biome-ignore lint/suspicious/noExplicitAny: TODO fix this
315
329
  typeof rawExpression.then === "function";
330
+ // biome-ignore lint/suspicious/noExplicitAny: TODO fix this
316
331
  baseClient.$on("query", function (e) {
317
332
  var e_2, _a, e_3, _b;
318
333
  try {
319
334
  var parser = new node_sql_parser_1.Parser();
320
335
  // Parse the query into an AST
336
+ // biome-ignore lint/suspicious/noExplicitAny: TODO fix this
321
337
  var ast = parser.astify(e.query, {
322
338
  database: "postgresql",
323
339
  });
@@ -398,10 +414,13 @@ var expressionToSQL = function (getExpression, table) { return __awaiter(void 0,
398
414
  case 2:
399
415
  _a.sent();
400
416
  return [3 /*break*/, 5];
401
- case 3: return [4 /*yield*/, expressionClient[table].findFirst({
417
+ case 3:
418
+ // biome-ignore lint/suspicious/noExplicitAny: TODO fix this
419
+ return [4 /*yield*/, expressionClient[table].findFirst({
402
420
  where: rawExpression,
403
421
  })];
404
422
  case 4:
423
+ // biome-ignore lint/suspicious/noExplicitAny: TODO fix this
405
424
  _a.sent();
406
425
  _a.label = 5;
407
426
  case 5: return [3 /*break*/, 7];
@@ -1 +1 @@
1
- {"version":3,"file":"expressions.js","sourceRoot":"","sources":["../src/expressions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expressions.js","sourceRoot":"","sources":["../src/expressions.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -105,11 +105,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
105
105
  };
106
106
  Object.defineProperty(exports, "__esModule", { value: true });
107
107
  exports.setup = exports.createRoles = exports.createClient = exports.createRoleName = exports.createAbilityName = void 0;
108
+ var crypto = __importStar(require("crypto"));
108
109
  var difference_1 = __importDefault(require("lodash/difference"));
109
110
  var flatMap_1 = __importDefault(require("lodash/flatMap"));
110
111
  var map_1 = __importDefault(require("lodash/map"));
111
112
  var toPairs_1 = __importDefault(require("lodash/toPairs"));
112
- var crypto = __importStar(require("crypto"));
113
113
  var expressions_1 = require("./expressions");
114
114
  var VALID_OPERATIONS = ["SELECT", "UPDATE", "INSERT", "DELETE"];
115
115
  /**
@@ -158,16 +158,19 @@ var createClient = function (prisma, getContext, options) {
158
158
  query: {
159
159
  $allModels: {
160
160
  $allOperations: function (params) {
161
- var _a;
162
161
  return __awaiter(this, void 0, void 0, function () {
163
- var model, args, query, operation, ctx, role, context, pgRole, _b, _c, k, _d, _e, v, queryResults, e_1;
164
- var e_2, _f, e_3, _g;
162
+ var model, args, query, operation, ctx, role, context, pgRole, _a, _b, k, _c, _d, v, queryResults, e_1;
163
+ var e_2, _e, e_3, _f;
165
164
  var _this = this;
165
+ var _g;
166
166
  return __generator(this, function (_h) {
167
167
  switch (_h.label) {
168
168
  case 0:
169
169
  model = params.model, args = params.args, query = params.query, operation = params.operation;
170
170
  if (!model) {
171
+ // If the model is not defined, we can't apply RLS
172
+ // This can occur when you are making a call with Prisma's $queryRaw method
173
+ // biome-ignore lint/suspicious/noExplicitAny: See above
171
174
  return [2 /*return*/, query(args)];
172
175
  }
173
176
  ctx = getContext();
@@ -179,18 +182,20 @@ var createClient = function (prisma, getContext, options) {
179
182
  pgRole = (0, exports.createRoleName)(role);
180
183
  if (context) {
181
184
  try {
182
- for (_b = __values(Object.keys(context)), _c = _b.next(); !_c.done; _c = _b.next()) {
183
- k = _c.value;
185
+ for (_a = __values(Object.keys(context)), _b = _a.next(); !_b.done; _b = _a.next()) {
186
+ k = _b.value;
184
187
  if (!k.match(/^[a-z_\.]+$/)) {
185
188
  throw new Error("Context variable \"".concat(k, "\" contains invalid characters. Context variables must only contain lowercase letters, numbers, periods and underscores."));
186
189
  }
187
- if (typeof context[k] !== "number" && typeof context[k] !== "string" && !Array.isArray(context[k])) {
190
+ if (typeof context[k] !== "number" &&
191
+ typeof context[k] !== "string" &&
192
+ !Array.isArray(context[k])) {
188
193
  throw new Error("Context variable \"".concat(k, "\" must be a string, number or array. Got ").concat(typeof context[k]));
189
194
  }
190
195
  if (Array.isArray(context[k])) {
191
196
  try {
192
- for (_d = (e_3 = void 0, __values(context[k])), _e = _d.next(); !_e.done; _e = _d.next()) {
193
- v = _e.value;
197
+ for (_c = (e_3 = void 0, __values(context[k])), _d = _c.next(); !_d.done; _d = _c.next()) {
198
+ v = _d.value;
194
199
  if (typeof v !== "string") {
195
200
  throw new Error("Context variable \"".concat(k, "\" must be an array of strings. Got ").concat(typeof v));
196
201
  }
@@ -199,7 +204,7 @@ var createClient = function (prisma, getContext, options) {
199
204
  catch (e_3_1) { e_3 = { error: e_3_1 }; }
200
205
  finally {
201
206
  try {
202
- if (_e && !_e.done && (_g = _d.return)) _g.call(_d);
207
+ if (_d && !_d.done && (_f = _c.return)) _f.call(_c);
203
208
  }
204
209
  finally { if (e_3) throw e_3.error; }
205
210
  }
@@ -211,7 +216,7 @@ var createClient = function (prisma, getContext, options) {
211
216
  catch (e_2_1) { e_2 = { error: e_2_1 }; }
212
217
  finally {
213
218
  try {
214
- if (_c && !_c.done && (_f = _b.return)) _f.call(_b);
219
+ if (_b && !_b.done && (_e = _a.return)) _e.call(_a);
215
220
  }
216
221
  finally { if (e_2) throw e_2.error; }
217
222
  }
@@ -283,7 +288,7 @@ var createClient = function (prisma, getContext, options) {
283
288
  case 3:
284
289
  e_1 = _h.sent();
285
290
  // Normalize RLS errors to make them a bit more readable.
286
- if ((_a = e_1.message) === null || _a === void 0 ? void 0 : _a.includes("new row violates row-level security policy for table")) {
291
+ if ((_g = e_1.message) === null || _g === void 0 ? void 0 : _g.includes("new row violates row-level security policy for table")) {
287
292
  throw new Error("You do not have permission to perform this action: ".concat(model, ".").concat(operation, "(...)"));
288
293
  }
289
294
  throw e_1;
@@ -335,205 +340,222 @@ var setRLS = function (prisma, table, roleName, operation, rawExpression) { retu
335
340
  }
336
341
  });
337
342
  }); };
338
- var createRoles = function (_a) {
339
- var prisma = _a.prisma, customAbilities = _a.customAbilities, getRoles = _a.getRoles;
340
- return __awaiter(void 0, void 0, void 0, function () {
341
- var abilities, runtimeDataModel, models, diff, models_1, models_1_1, model, ability, operation, roles, _b, _c, _d, _i, model, table, _e, _f, _g, _h, slug, ability, roleName, _loop_1, _j, _k, _l, _m, key;
342
- var e_5, _o;
343
- var _p;
344
- return __generator(this, function (_q) {
345
- switch (_q.label) {
346
- case 0:
347
- abilities = {};
348
- runtimeDataModel = prisma._runtimeDataModel;
349
- models = Object.keys(runtimeDataModel.models).map(function (m) { return runtimeDataModel.models[m].dbName || m; });
350
- if (customAbilities) {
351
- diff = (0, difference_1.default)(Object.keys(customAbilities), models);
352
- if (diff.length) {
353
- throw new Error("Invalid models in custom abilities: ".concat(diff.join(", ")));
354
- }
343
+ var createRoles = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
344
+ var abilities, runtimeDataModel, models, diff, models_1, models_1_1, model, ability, operation, roles, _c, _d, _e, _i, model, table, _f, _g, _h, _j, slug, ability, roleName, _loop_1, _k, _l, _m, _o, key;
345
+ var e_5, _p;
346
+ var _q;
347
+ var prisma = _b.prisma, customAbilities = _b.customAbilities, getRoles = _b.getRoles;
348
+ return __generator(this, function (_r) {
349
+ switch (_r.label) {
350
+ case 0:
351
+ abilities = {};
352
+ runtimeDataModel = prisma
353
+ ._runtimeDataModel;
354
+ models = Object.keys(runtimeDataModel.models).map(function (m) { return runtimeDataModel.models[m].dbName || m; });
355
+ if (customAbilities) {
356
+ diff = (0, difference_1.default)(Object.keys(customAbilities), models);
357
+ if (diff.length) {
358
+ throw new Error("Invalid models in custom abilities: ".concat(diff.join(", ")));
355
359
  }
356
- try {
357
- for (models_1 = __values(models), models_1_1 = models_1.next(); !models_1_1.done; models_1_1 = models_1.next()) {
358
- model = models_1_1.value;
359
- abilities[model] = {
360
- create: {
361
- description: "Create ".concat(model),
362
- expression: "true",
363
- operation: "INSERT",
364
- model: model,
365
- slug: "create",
366
- },
367
- read: {
368
- description: "Read ".concat(model),
369
- expression: "true",
370
- operation: "SELECT",
371
- model: model,
372
- slug: "read",
373
- },
374
- update: {
375
- description: "Update ".concat(model),
376
- expression: "true",
377
- operation: "UPDATE",
378
- model: model,
379
- slug: "update",
380
- },
381
- delete: {
382
- description: "Delete ".concat(model),
383
- expression: "true",
384
- operation: "DELETE",
385
- model: model,
386
- slug: "delete",
387
- },
388
- };
389
- if (customAbilities === null || customAbilities === void 0 ? void 0 : customAbilities[model]) {
390
- for (ability in customAbilities[model]) {
391
- operation = (_p = customAbilities[model][ability]) === null || _p === void 0 ? void 0 : _p.operation;
392
- if (!operation)
393
- continue;
394
- abilities[model][ability] = __assign(__assign({}, customAbilities[model][ability]), { operation: operation, model: model, slug: ability });
395
- }
360
+ }
361
+ try {
362
+ for (models_1 = __values(models), models_1_1 = models_1.next(); !models_1_1.done; models_1_1 = models_1.next()) {
363
+ model = models_1_1.value;
364
+ abilities[model] = {
365
+ create: {
366
+ description: "Create ".concat(model),
367
+ expression: "true",
368
+ operation: "INSERT",
369
+ // biome-ignore lint/suspicious/noExplicitAny: TODO fix this
370
+ model: model,
371
+ slug: "create",
372
+ },
373
+ read: {
374
+ description: "Read ".concat(model),
375
+ expression: "true",
376
+ operation: "SELECT",
377
+ // biome-ignore lint/suspicious/noExplicitAny: TODO fix this
378
+ model: model,
379
+ slug: "read",
380
+ },
381
+ update: {
382
+ description: "Update ".concat(model),
383
+ expression: "true",
384
+ operation: "UPDATE",
385
+ // biome-ignore lint/suspicious/noExplicitAny: TODO fix this
386
+ model: model,
387
+ slug: "update",
388
+ },
389
+ delete: {
390
+ description: "Delete ".concat(model),
391
+ expression: "true",
392
+ operation: "DELETE",
393
+ // biome-ignore lint/suspicious/noExplicitAny: TODO fix this
394
+ model: model,
395
+ slug: "delete",
396
+ },
397
+ };
398
+ if (customAbilities === null || customAbilities === void 0 ? void 0 : customAbilities[model]) {
399
+ for (ability in customAbilities[model]) {
400
+ operation =
401
+ // biome-ignore lint/style/noNonNullAssertion: TODO fix this
402
+ (_q = customAbilities[model][ability]) === null || _q === void 0 ? void 0 : _q.operation;
403
+ if (!operation)
404
+ continue;
405
+ // biome-ignore lint/style/noNonNullAssertion: TODO fix this
406
+ abilities[model][ability] = __assign(__assign({}, customAbilities[model][ability]), { operation: operation,
407
+ // biome-ignore lint/suspicious/noExplicitAny: TODO fix this
408
+ model: model, slug: ability });
396
409
  }
397
410
  }
398
411
  }
399
- catch (e_5_1) { e_5 = { error: e_5_1 }; }
400
- finally {
401
- try {
402
- if (models_1_1 && !models_1_1.done && (_o = models_1.return)) _o.call(models_1);
403
- }
404
- finally { if (e_5) throw e_5.error; }
405
- }
406
- roles = getRoles(abilities);
407
- _b = abilities;
408
- _c = [];
409
- for (_d in _b)
410
- _c.push(_d);
411
- _i = 0;
412
- _q.label = 1;
413
- case 1:
414
- if (!(_i < _c.length)) return [3 /*break*/, 8];
415
- _d = _c[_i];
416
- if (!(_d in _b)) return [3 /*break*/, 7];
417
- model = _d;
418
- table = model;
419
- return [4 /*yield*/, prisma.$transaction([
420
- takeLock(prisma),
421
- prisma.$queryRawUnsafe("ALTER table \"".concat(table, "\" enable row level security;")),
422
- ])];
423
- case 2:
424
- _q.sent();
425
- _e = abilities[model];
426
- _f = [];
427
- for (_g in _e)
428
- _f.push(_g);
429
- _h = 0;
430
- _q.label = 3;
431
- case 3:
432
- if (!(_h < _f.length)) return [3 /*break*/, 7];
433
- _g = _f[_h];
434
- if (!(_g in _e)) return [3 /*break*/, 6];
435
- slug = _g;
436
- ability = abilities[model][slug];
437
- if (!VALID_OPERATIONS.includes(ability.operation)) {
438
- throw new Error("Invalid operation: ".concat(ability.operation));
412
+ }
413
+ catch (e_5_1) { e_5 = { error: e_5_1 }; }
414
+ finally {
415
+ try {
416
+ if (models_1_1 && !models_1_1.done && (_p = models_1.return)) _p.call(models_1);
439
417
  }
440
- roleName = (0, exports.createAbilityName)(model, slug);
441
- // Check if role already exists
442
- return [4 /*yield*/, prisma.$transaction([
443
- takeLock(prisma),
444
- prisma.$queryRawUnsafe("\n\t\t\t\t\tdo\n\t\t\t\t\t$$\n\t\t\t\t\tbegin\n\t\t\t\t\tif not exists (select * from pg_catalog.pg_roles where rolname = '".concat(roleName, "') then \n\t\t\t\t\t\tcreate role ").concat(roleName, ";\n\t\t\t\t\tend if;\n\t\t\t\t\tend\n\t\t\t\t\t$$\n\t\t\t\t\t;\n\t\t\t\t")),
445
- prisma.$queryRawUnsafe("\n\t\t\t\t\tGRANT ".concat(ability.operation, " ON \"").concat(table, "\" TO ").concat(roleName, ";\n\t\t\t\t")),
446
- ])];
447
- case 4:
448
- // Check if role already exists
449
- _q.sent();
450
- if (!ability.expression) return [3 /*break*/, 6];
451
- return [4 /*yield*/, setRLS(prisma, table, roleName, ability.operation, ability.expression)];
452
- case 5:
453
- _q.sent();
454
- _q.label = 6;
455
- case 6:
456
- _h++;
457
- return [3 /*break*/, 3];
458
- case 7:
459
- _i++;
460
- return [3 /*break*/, 1];
461
- case 8:
462
- _loop_1 = function (key) {
463
- var role, wildCardAbilities, roleAbilities, rlsRoles, userRoles, oldRoles;
464
- return __generator(this, function (_r) {
465
- switch (_r.label) {
466
- case 0:
467
- role = (0, exports.createRoleName)(key);
468
- return [4 /*yield*/, prisma.$executeRawUnsafe("\n\t\t\tdo\n\t\t\t$$\n\t\t\tbegin\n\t\t\tif not exists (select * from pg_catalog.pg_roles where rolname = '".concat(role, "') then \n\t\t\t\tcreate role ").concat(role, ";\n\t\t\tend if;\n\t\t\tend\n\t\t\t$$\n\t\t\t;\n\t\t"))];
469
- case 1:
470
- _r.sent();
471
- wildCardAbilities = (0, flatMap_1.default)(abilities, function (model, modelName) {
472
- return (0, map_1.default)(model, function (_params, slug) {
473
- return (0, exports.createAbilityName)(modelName, slug);
474
- });
418
+ finally { if (e_5) throw e_5.error; }
419
+ }
420
+ roles = getRoles(abilities);
421
+ _c = abilities;
422
+ _d = [];
423
+ for (_e in _c)
424
+ _d.push(_e);
425
+ _i = 0;
426
+ _r.label = 1;
427
+ case 1:
428
+ if (!(_i < _d.length)) return [3 /*break*/, 8];
429
+ _e = _d[_i];
430
+ if (!(_e in _c)) return [3 /*break*/, 7];
431
+ model = _e;
432
+ table = model;
433
+ return [4 /*yield*/, prisma.$transaction([
434
+ takeLock(prisma),
435
+ prisma.$queryRawUnsafe("ALTER table \"".concat(table, "\" enable row level security;")),
436
+ ])];
437
+ case 2:
438
+ _r.sent();
439
+ _f = abilities[model];
440
+ _g = [];
441
+ for (_h in _f)
442
+ _g.push(_h);
443
+ _j = 0;
444
+ _r.label = 3;
445
+ case 3:
446
+ if (!(_j < _g.length)) return [3 /*break*/, 7];
447
+ _h = _g[_j];
448
+ if (!(_h in _f)) return [3 /*break*/, 6];
449
+ slug = _h;
450
+ ability =
451
+ // biome-ignore lint/style/noNonNullAssertion: TODO fix this
452
+ abilities[model][slug];
453
+ if (!VALID_OPERATIONS.includes(ability.operation)) {
454
+ throw new Error("Invalid operation: ".concat(ability.operation));
455
+ }
456
+ roleName = (0, exports.createAbilityName)(model, slug);
457
+ // Check if role already exists
458
+ return [4 /*yield*/, prisma.$transaction([
459
+ takeLock(prisma),
460
+ prisma.$queryRawUnsafe("\n\t\t\t\t\tdo\n\t\t\t\t\t$$\n\t\t\t\t\tbegin\n\t\t\t\t\tif not exists (select * from pg_catalog.pg_roles where rolname = '".concat(roleName, "') then \n\t\t\t\t\t\tcreate role ").concat(roleName, ";\n\t\t\t\t\tend if;\n\t\t\t\t\tend\n\t\t\t\t\t$$\n\t\t\t\t\t;\n\t\t\t\t")),
461
+ prisma.$queryRawUnsafe("\n\t\t\t\t\tGRANT ".concat(ability.operation, " ON \"").concat(table, "\" TO ").concat(roleName, ";\n\t\t\t\t")),
462
+ ])];
463
+ case 4:
464
+ // Check if role already exists
465
+ _r.sent();
466
+ if (!ability.expression) return [3 /*break*/, 6];
467
+ return [4 /*yield*/, setRLS(prisma, table, roleName, ability.operation,
468
+ // biome-ignore lint/suspicious/noExplicitAny: TODO fix this
469
+ ability.expression)];
470
+ case 5:
471
+ _r.sent();
472
+ _r.label = 6;
473
+ case 6:
474
+ _j++;
475
+ return [3 /*break*/, 3];
476
+ case 7:
477
+ _i++;
478
+ return [3 /*break*/, 1];
479
+ case 8:
480
+ _loop_1 = function (key) {
481
+ var role, wildCardAbilities, roleAbilities, rlsRoles, userRoles, oldRoles;
482
+ return __generator(this, function (_s) {
483
+ switch (_s.label) {
484
+ case 0:
485
+ role = (0, exports.createRoleName)(key);
486
+ return [4 /*yield*/, prisma.$executeRawUnsafe("\n\t\t\tdo\n\t\t\t$$\n\t\t\tbegin\n\t\t\tif not exists (select * from pg_catalog.pg_roles where rolname = '".concat(role, "') then \n\t\t\t\tcreate role ").concat(role, ";\n\t\t\tend if;\n\t\t\tend\n\t\t\t$$\n\t\t\t;\n\t\t"))];
487
+ case 1:
488
+ _s.sent();
489
+ wildCardAbilities = (0, flatMap_1.default)(abilities, function (model, modelName) {
490
+ return (0, map_1.default)(model, function (_params, slug) {
491
+ return (0, exports.createAbilityName)(modelName, slug);
475
492
  });
476
- roleAbilities = roles[key];
477
- rlsRoles = roleAbilities === "*"
478
- ? wildCardAbilities
479
- : roleAbilities.map(function (ability) { return (0, exports.createAbilityName)(ability.model, ability.slug); });
480
- // Note: We need to GRANT all on schema public so that we can resolve relation queries with prisma, as they will sometimes use a join table.
481
- // This is not ideal, but because we are using RLS, it's not a security risk. Any table with RLS also needs a corresponding policy for the role to have access.
482
- return [4 /*yield*/, prisma.$transaction([
483
- takeLock(prisma),
484
- prisma.$executeRawUnsafe("GRANT ALL ON ALL TABLES IN SCHEMA public TO ".concat(role, ";")),
485
- prisma.$executeRawUnsafe("\n\t\t\t\tGRANT ALL ON ALL SEQUENCES IN SCHEMA public TO ".concat(role, ";\n\t\t\t")),
486
- prisma.$executeRawUnsafe("\n\t\t\t\tGRANT ALL ON SCHEMA public TO ".concat(role, ";\n\t\t\t")),
487
- prisma.$queryRawUnsafe("GRANT ".concat(rlsRoles.join(", "), " TO ").concat(role)),
488
- ])];
489
- case 2:
490
- // Note: We need to GRANT all on schema public so that we can resolve relation queries with prisma, as they will sometimes use a join table.
491
- // This is not ideal, but because we are using RLS, it's not a security risk. Any table with RLS also needs a corresponding policy for the role to have access.
492
- _r.sent();
493
- return [4 /*yield*/, prisma.$queryRawUnsafe("\n\t\t\tWITH RECURSIVE cte AS (\n\t\t\t\tSELECT oid FROM pg_roles where rolname = '".concat(role, "'\n\t\t\t\tUNION ALL\n\t\t\t\tSELECT m.roleid\n\t\t\t\tFROM cte\n\t\t\t\tJOIN pg_auth_members m ON m.member = cte.oid\n\t\t\t\t)\n\t\t\tSELECT oid, oid::regrole::text AS rolename FROM cte where oid::regrole::text != '").concat(role, "'; \n\t "))];
494
- case 3:
495
- userRoles = _r.sent();
496
- oldRoles = userRoles.filter(function (_a) {
497
- var rolename = _a.rolename;
498
- return !rlsRoles.includes(rolename);
499
- }).map(function (_a) {
500
- var rolename = _a.rolename;
501
- return rolename;
493
+ });
494
+ roleAbilities = roles[key];
495
+ rlsRoles = roleAbilities === "*"
496
+ ? wildCardAbilities
497
+ : roleAbilities.map(function (ability) {
498
+ // biome-ignore lint/style/noNonNullAssertion: TODO fix this
499
+ return (0, exports.createAbilityName)(ability.model, ability.slug);
502
500
  });
503
- if (!oldRoles.length) return [3 /*break*/, 5];
504
- // Now revoke old roles from the user role
505
- return [4 /*yield*/, prisma.$executeRawUnsafe("REVOKE ".concat(oldRoles.join(", "), " FROM ").concat(role))];
506
- case 4:
507
- // Now revoke old roles from the user role
508
- _r.sent();
509
- _r.label = 5;
510
- case 5: return [2 /*return*/];
511
- }
512
- });
513
- };
514
- _j = roles;
515
- _k = [];
516
- for (_l in _j)
517
- _k.push(_l);
518
- _m = 0;
519
- _q.label = 9;
520
- case 9:
521
- if (!(_m < _k.length)) return [3 /*break*/, 12];
522
- _l = _k[_m];
523
- if (!(_l in _j)) return [3 /*break*/, 11];
524
- key = _l;
525
- return [5 /*yield**/, _loop_1(key)];
526
- case 10:
527
- _q.sent();
528
- _q.label = 11;
529
- case 11:
530
- _m++;
531
- return [3 /*break*/, 9];
532
- case 12: return [2 /*return*/];
533
- }
534
- });
501
+ // Note: We need to GRANT all on schema public so that we can resolve relation queries with prisma, as they will sometimes use a join table.
502
+ // This is not ideal, but because we are using RLS, it's not a security risk. Any table with RLS also needs a corresponding policy for the role to have access.
503
+ return [4 /*yield*/, prisma.$transaction([
504
+ takeLock(prisma),
505
+ prisma.$executeRawUnsafe("GRANT ALL ON ALL TABLES IN SCHEMA public TO ".concat(role, ";")),
506
+ prisma.$executeRawUnsafe("\n\t\t\t\tGRANT ALL ON ALL SEQUENCES IN SCHEMA public TO ".concat(role, ";\n\t\t\t")),
507
+ prisma.$executeRawUnsafe("\n\t\t\t\tGRANT ALL ON SCHEMA public TO ".concat(role, ";\n\t\t\t")),
508
+ prisma.$queryRawUnsafe("GRANT ".concat(rlsRoles.join(", "), " TO ").concat(role)),
509
+ ])];
510
+ case 2:
511
+ // Note: We need to GRANT all on schema public so that we can resolve relation queries with prisma, as they will sometimes use a join table.
512
+ // This is not ideal, but because we are using RLS, it's not a security risk. Any table with RLS also needs a corresponding policy for the role to have access.
513
+ _s.sent();
514
+ return [4 /*yield*/, prisma.$queryRawUnsafe("\n\t\t\tWITH RECURSIVE cte AS (\n\t\t\t\tSELECT oid FROM pg_roles where rolname = '".concat(role, "'\n\t\t\t\tUNION ALL\n\t\t\t\tSELECT m.roleid\n\t\t\t\tFROM cte\n\t\t\t\tJOIN pg_auth_members m ON m.member = cte.oid\n\t\t\t\t)\n\t\t\tSELECT oid, oid::regrole::text AS rolename FROM cte where oid::regrole::text != '").concat(role, "'; \n\t "))];
515
+ case 3:
516
+ userRoles = _s.sent();
517
+ oldRoles = userRoles
518
+ .filter(function (_a) {
519
+ var rolename = _a.rolename;
520
+ return !rlsRoles.includes(rolename);
521
+ })
522
+ .map(function (_a) {
523
+ var rolename = _a.rolename;
524
+ return rolename;
525
+ });
526
+ if (!oldRoles.length) return [3 /*break*/, 5];
527
+ // Now revoke old roles from the user role
528
+ return [4 /*yield*/, prisma.$executeRawUnsafe("REVOKE ".concat(oldRoles.join(", "), " FROM ").concat(role))];
529
+ case 4:
530
+ // Now revoke old roles from the user role
531
+ _s.sent();
532
+ _s.label = 5;
533
+ case 5: return [2 /*return*/];
534
+ }
535
+ });
536
+ };
537
+ _k = roles;
538
+ _l = [];
539
+ for (_m in _k)
540
+ _l.push(_m);
541
+ _o = 0;
542
+ _r.label = 9;
543
+ case 9:
544
+ if (!(_o < _l.length)) return [3 /*break*/, 12];
545
+ _m = _l[_o];
546
+ if (!(_m in _k)) return [3 /*break*/, 11];
547
+ key = _m;
548
+ return [5 /*yield**/, _loop_1(key)];
549
+ case 10:
550
+ _r.sent();
551
+ _r.label = 11;
552
+ case 11:
553
+ _o++;
554
+ return [3 /*break*/, 9];
555
+ case 12: return [2 /*return*/];
556
+ }
535
557
  });
536
- };
558
+ }); };
537
559
  exports.createRoles = createRoles;
538
560
  /**
539
561
  * Creates an extended client that sets contextual parameters and user role on every query
@@ -544,7 +566,11 @@ var setup = function (params) { return __awaiter(void 0, void 0, void 0, functio
544
566
  switch (_a.label) {
545
567
  case 0:
546
568
  prisma = params.prisma, customAbilities = params.customAbilities, getRoles = params.getRoles, getContext = params.getContext;
547
- return [4 /*yield*/, (0, exports.createRoles)({ prisma: prisma, customAbilities: customAbilities, getRoles: getRoles })];
569
+ return [4 /*yield*/, (0, exports.createRoles)({
570
+ prisma: prisma,
571
+ customAbilities: customAbilities,
572
+ getRoles: getRoles,
573
+ })];
548
574
  case 1:
549
575
  _a.sent();
550
576
  client = (0, exports.createClient)(prisma, getContext, params.options);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cerebruminc/yates",
3
- "version": "3.3.2-beta.dangerous.2d11492",
3
+ "version": "3.3.2-beta.dangerous.2fec467",
4
4
  "description": "Role based access control for Prisma Apps",
5
5
  "main": "dist/index.js",
6
6
  "files": [
@@ -11,8 +11,9 @@
11
11
  "scripts": {
12
12
  "generate": "prisma generate",
13
13
  "build": "rimraf dist && tsc -p tsconfig.build.json",
14
- "test": "eslint",
15
- "lint:fix": "eslint --fix",
14
+ "test": "npm run lint",
15
+ "lint": "biome check .",
16
+ "lint:fix": "biome check . --apply",
16
17
  "test:types": "tsc --noEmit",
17
18
  "test:integration": "jest --runInBand test/integration",
18
19
  "test:compose:integration": "docker compose -f docker-compose.yml --profile with-sut up db sut --exit-code-from sut",
@@ -22,19 +23,18 @@
22
23
  "author": "Cerebrum <hello@cerebrum.com> (https://cerebrum.com)",
23
24
  "license": "MIT",
24
25
  "devDependencies": {
26
+ "@biomejs/biome": "1.5.3",
25
27
  "@prisma/client": "^5.0.0",
26
28
  "@types/cls-hooked": "^4.3.3",
27
29
  "@types/jest": "^29.2.6",
28
30
  "@types/lodash": "^4.14.191",
29
31
  "@types/uuid": "^9.0.0",
30
32
  "cls-hooked": "^4.2.2",
31
- "eslint": "^8.57.0",
32
33
  "jest": "^29.3.1",
33
34
  "prisma": "^5.0.0",
34
35
  "rimraf": "^5.0.5",
35
36
  "ts-jest": "^29.0.5",
36
37
  "typescript": "^5.3.3",
37
- "typescript-eslint": "^7.0.2",
38
38
  "uuid": "^9.0.0"
39
39
  },
40
40
  "dependencies": {