Path contains invalid characters
s1mrankaur opened this issue · comments
Have you read the Contributing Guidelines on issues?
- I have read the Contributing Guidelines on issues.
Description
When I run
npm run generate
,
I get:
C:\Users\AU\Downloads\backend\backend-catalog\node_modules\fs-extra\lib\mkdirs\utils.js:18
const error = new Error(`Path contains invalid characters: ${pth}`)
^
Error: Path contains invalid characters: C:\Users\AU\Downloads\backend\backend-catalog\domains\Sites\events\<anonymous-schema-1>
at checkPath (C:\Users\AU\Downloads\backend\backend-catalog\node_modules\fs-extra\lib\mkdirs\utils.js:18:21)
at Object.module.exports.makeDirSync (C:\Users\SAU\Downloads\backend\backend-catalog\node_modules\fs-extra\lib\mkdirs\make-dir.js:21:3)
at C:\Users\AU\Downloads\backend\backend-catalog\node_modules\@eventcatalog\utils\lib\events.js:126:24
at C:\Users\AU\Downloads\backend\backend-catalog\node_modules\@eventcatalog\plugin-doc-generator-asyncapi\lib\index.js:102:15
at Array.map (<anonymous>)
at parseAsyncAPIFile (C:\Users\AU\Downloads\backend\backend-catalog\node_modules\@eventcatalog\plugin-doc-generator-asyncapi\lib\index.js:100:31)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async Promise.all (index 0)
at async exports.default (C:\Users\AU\Downloads\backend\vbackend-catalog\node_modules\@eventcatalog\plugin-doc-generator-asyncapi\lib\index.js:132:18)
at async Promise.all (index 0) {
code: 'EINVAL'
}
Error: Command failed: cross-env PROJECT_DIR='C:\Users\AU\Downloads\backend\backend-catalog' npm run generate
at checkExecSyncError (node:child_process:826:11)
at execSync (node:child_process:900:15)
at Command.<anonymous> (C:\Users\AU\Downloads\backend\backend-catalog\node_modules\@eventcatalog\core\bin\eventcatalog.js:111:5)
at Command.listener [as _actionHandler] (C:\Users\AU\Downloads\backend\backend-catalog\node_modules\commander\index.js:922:31)
at Command._parseCommand (C:\Users\AU\Downloads\backend\backend-catalog\node_modules\commander\index.js:1503:14)
at Command._dispatchSubcommand (C:\Users\AU\Downloads\backend\backend-catalog\node_modules\commander\index.js:1443:18)
at Command._parseCommand (C:\Users\AU\Downloads\backend\backend-catalog\node_modules\commander\index.js:1460:12)
at Command.parse (C:\Users\AU\Downloads\backend\backend-catalog\node_modules\commander\index.js:1292:10)
at run (C:\Users\AU\Downloads\backend\backend-catalog\node_modules\@eventcatalog\core\bin\eventcatalog.js:118:7)
at Object.<anonymous> (C:\Users\AU\Downloads\backend\backend-catalog\node_modules\@eventcatalog\core\bin\eventcatalog.js:125:1) {
status: 1,
signal: null,
output: [ null, null, null ],
pid: 5400,
stdout: null,
stderr: null
}
`
I tried to add a console log to fs-extra library and I see:
Generating EventCatalog docs using: @eventcatalog/plugin-doc-generator-asyncapi path is C:\Users\AU\Downloads\backend\backend-catalog\domains\Sites pathHasInvalidWinCharacters false path is C:\Users\AU\Downloads\backend\backend-catalog\domains\Sites\services\Site Service Events pathHasInvalidWinCharacters false path is C:\Users\AU\Downloads\backend\backend-catalog\domains\Sites\events\<anonymous-schema-1> pathHasInvalidWinCharacters true path is C:\Users\AU\Downloads\backend\backend-catalog\domains\Sites\events\<anonymous-schema-8> pathHasInvalidWinCharacters true
So, basically it's < and > characters that are problemtic but those paths seem to be generated by the plugin itself.
Steps to reproduce
- Bootstrap project using npx @eventcatalog/create-eventcatalog@latest [name]
- Add asyncapi file (version 2.6.0)
- Update eventcatalog.config.js with
generators: [ [ '@eventcatalog/plugin-doc-generator-asyncapi', { // path to your AsyncAPI files pathToSpec: [path.join(__dirname, 'asyncapi.yml')], // version events if already in catalog (optional) versionEvents: false, domainName: 'Sites' }, ], ],
Expected behavior
It should have generated event catalog documentation
Actual behavior
It breaks with the above mentioned error
Your environment
- EventCatalog version used: @latest
- Environment name and version (e.g. Chrome 89, Node.js 16.4): Node 16.13.0
- Operating system and version (e.g. Ubuntu 20.04.2 LTS): Windows 10 enterprise, 10.0.19044
- @eventcatalog/plugin-doc-generator-asyncapi : 0.3.5
Resolved it by specifying $id in AsycAPI spec file.