aurora
aurora copied to clipboard
Comments Break Parsing Logic
Describe the bug
It would seem that the presence of comments in my files is confusing aurora
. In my org, we like to use comments as dividers to make our files easier to navigate, like so:
//--------------------------------------------------------------------------------------------------//
But the presence of a single //-
sequence causes aurora to crash.
To Reproduce
- Install aurora.
- Pick the
Author
andBook
schemas from README.md, and set up
aurora.config.json` to combine them. - Add
//-
anywhere in either file. - Run
aurora
Expected behavior The two schemas are combined into a single schema
Actual Behavior The following error is printed:
/ \ _ _ _ __ ___ _ __ __ _
/ _ \ | | | | | '__| / _ \ | '__| / _` |
/ ___ \ | |_| | | | | (_) | | | | (_| |
/_/ \_\ \__,_| |_| \___/ |_| \__,_|
TypeError: Cannot read properties of undefined (reading 'filter')
at /home/davidhorstman/GitHub/clipboard-staffing-api/node_modules/prisma-aurora/lib/helpers/parseSchema.js:103:84
at Array.map (<anonymous>)
at /home/davidhorstman/GitHub/clipboard-staffing-api/node_modules/prisma-aurora/lib/helpers/parseSchema.js:102:59
at step (/home/davidhorstman/GitHub/clipboard-staffing-api/node_modules/prisma-aurora/lib/helpers/parseSchema.js:44:23)
at Object.next (/home/davidhorstman/GitHub/clipboard-staffing-api/node_modules/prisma-aurora/lib/helpers/parseSchema.js:25:53)
at fulfilled (/home/davidhorstman/GitHub/clipboard-staffing-api/node_modules/prisma-aurora/lib/helpers/parseSchema.js:16:58) Aurora could not parse the schema at ./src/modules/workers/worker-model.prisma. Please ensure it is of a proper format.
/home/davidhorstman/GitHub/clipboard-staffing-api/node_modules/prisma-aurora/lib/helpers/parseSchema.js:103
model.extendedFields = attributeData_1[model.name].filter(function (attribute) { return attribute.isFieldAttribute; });
^
TypeError: Cannot read properties of undefined (reading 'filter')
at /home/davidhorstman/GitHub/clipboard-staffing-api/node_modules/prisma-aurora/lib/helpers/parseSchema.js:103:84
at Array.map (<anonymous>)
at /home/davidhorstman/GitHub/clipboard-staffing-api/node_modules/prisma-aurora/lib/helpers/parseSchema.js:102:59
at step (/home/davidhorstman/GitHub/clipboard-staffing-api/node_modules/prisma-aurora/lib/helpers/parseSchema.js:44:23)
at Object.next (/home/davidhorstman/GitHub/clipboard-staffing-api/node_modules/prisma-aurora/lib/helpers/parseSchema.js:25:53)
at fulfilled (/home/davidhorstman/GitHub/clipboard-staffing-api/node_modules/prisma-aurora/lib/helpers/parseSchema.js:16:58)
Desktop (please complete the following information):
- OS: Windows 10, WSL2 (Ubuntu 20.04)
Screenshots
I can't seem to recreate this issue. Can you paste in the schema you are using?
I'm encountering that same issue. It occurs every time I'm using comments before defining a model:
-
Works:
model ModelA { // Comment id Int @id }
-
Fails:
// Comment model ModelA { id Int @id }
Both using Aurora 1.3.3 running with node v16.13.0 on linux, with the following config:
{
"files": [
"./modelA.prisma"
],
"output": "./schema.prisma"
}
Error Output
TypeError: Cannot read properties of undefined (reading 'filter')
at /tmp/xfs-9f75d524/dlx-74100/node_modules/prisma-aurora/lib/helpers/parseSchema.js:103:84
at Array.map (<anonymous>)
at /tmp/xfs-9f75d524/dlx-74100/node_modules/prisma-aurora/lib/helpers/parseSchema.js:102:59
at step (/tmp/xfs-9f75d524/dlx-74100/node_modules/prisma-aurora/lib/helpers/parseSchema.js:44:23)
at Object.next (/tmp/xfs-9f75d524/dlx-74100/node_modules/prisma-aurora/lib/helpers/parseSchema.js:25:53)
at fulfilled (/tmp/xfs-9f75d524/dlx-74100/node_modules/prisma-aurora/lib/helpers/parseSchema.js:16:58) Aurora could not parse the schema at ./modelA.prisma. Please ensure it is of a proper format.
/tmp/xfs-9f75d524/dlx-74100/node_modules/prisma-aurora/lib/helpers/parseSchema.js:103
model.extendedFields = attributeData_1[model.name].filter(function (attribute) { return attribute.isFieldAttribute; });
^
TypeError: Cannot read properties of undefined (reading 'filter')
at /tmp/xfs-9f75d524/dlx-74100/node_modules/prisma-aurora/lib/helpers/parseSchema.js:103:84
at Array.map (<anonymous>)
at /tmp/xfs-9f75d524/dlx-74100/node_modules/prisma-aurora/lib/helpers/parseSchema.js:102:59
at step (/tmp/xfs-9f75d524/dlx-74100/node_modules/prisma-aurora/lib/helpers/parseSchema.js:44:23)
at Object.next (/tmp/xfs-9f75d524/dlx-74100/node_modules/prisma-aurora/lib/helpers/parseSchema.js:25:53)
at fulfilled (/tmp/xfs-9f75d524/dlx-74100/node_modules/prisma-aurora/lib/helpers/parseSchema.js:16:58)
Comments before datasource
, generator
and enum
definitions work fine:
// Comment
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
// Comment
generator client {
provider = "prisma-client-js"
}
// Comment
enum TestEnum {
TEST
}