You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When I run a generate command from one directory up from the asyncapi.yml, it is looking for relative refs in the directory the command was run from (cwd) not the directory containing asyncapi.yml
This is the asyncapi.yaml
asyncapi: 3.0.0
info:
title: My App
version: 1.0.0
description: Where the real work gets done.
servers:
rabbitmq:
host: localhost:15672
protocol: amqp
channels:
runs:
address: runs
title: Runs
servers:
- $ref: '#/servers/rabbitmq'
bindings:
amqp:
is: routingKey
exchange:
name: runs
type: headers
ack: true
durable: true
messages:
runCompleted:
payload:
$ref: './schemas/runCompleted.json'
operations:
publishPlaybookRun:
channel:
$ref: '#/channels/runs'
action: send
./schemas/runCompleted does exist and is next to asyncapi.yaml. The generate command can't find it because it is running one directory up from asyncapi.yaml and is looking for ./schemas from there.
If I run the command from the same directory as asyncapi.yaml then it works
asyncapi generate fromTemplate asyncapi.yaml @asyncapi/html-template@2.3.9 -o ./docs
┌ AsyncAPI Generator
│
◓ Generation in progress. Keep calm and wait a bit...[BABEL] Note: The code generator has deoptimised the styling of /Users/adam.frank/.volta/tools/image/packages/@asyncapi/cli/lib/node_modules/@asyncapi/cli/node_modules/@asyncapi/generator/node_modules/@asyncapi/html-template/template/js/asyncapi-ui.min.js as it exceeds the max of 500KB.
◇ Check out your shiny new generated files at ./docs.
Please let me know if I'm doing something wrong, or if you think this should be fixed. It sounds like the type of thing I could help with.
Expected behavior
I expect generate to work from any directory as long as it is supplied a path to a valid asyncapi.yaml. Or it would also work if it needed a context argument like docker build uses.
Screenshots
asyncapi generate fromTemplate asyncapi/asyncapi.yaml @asyncapi/html-template@2.3.9 -o ./docs
┌ AsyncAPI Generator
│
◐ Generation in progress. Keep calm and wait a bitDiagnostic err: ENOENT: no such file or directory, open './schemas/RunCompleted.json' in path ["channels","runs","messages","runCompleted","payload","$ref"] starting L37 C20, ending L37 C57
◇ Generation failed
Generator Error: Input is not a correct AsyncAPI document so it cannot be processed.
How to Reproduce
Create an asyncapi.yaml with relative path refs.
Run a generate command from a directory above the asyncapi.yaml file
asyncapi generate fromTemplate asyncapi/asyncapi.yaml @asyncapi/html-template@2.3.9 -o ./docs
┌ AsyncAPI Generator
│
◐ Generation in progress. Keep calm and wait a bitDiagnostic err: ENOENT: no such file or directory, open './schemas/RunCompleted.json' in path ["channels","runs","messages","runCompleted","payload","$ref"] starting L37 C20, ending L37 C57
◇ Generation failed
Generator Error: Input is not a correct AsyncAPI document so it cannot be processed.
Welcome to AsyncAPI. Thanks a lot for reporting your first issue. Please check out our contributors guide and the instructions about a basic recommended setup useful for opening a pull request. Keep in mind there are also other channels you can use to interact with AsyncAPI community. For more details check out this issue.
Describe the bug.
When I run a generate command from one directory up from the asyncapi.yml, it is looking for relative refs in the directory the command was run from (
cwd
) not the directory containing asyncapi.ymlThis is the asyncapi.yaml
./schemas/runCompleted
does exist and is next toasyncapi.yaml
. The generate command can't find it because it is running one directory up fromasyncapi.yaml
and is looking for./schemas
from there.If I run the command from the same directory as
asyncapi.yaml
then it worksPlease let me know if I'm doing something wrong, or if you think this should be fixed. It sounds like the type of thing I could help with.
Expected behavior
I expect generate to work from any directory as long as it is supplied a path to a valid
asyncapi.yaml
. Or it would also work if it needed a context argument likedocker build
uses.Screenshots
How to Reproduce
Create an asyncapi.yaml with relative path refs.
Run a generate command from a directory above the asyncapi.yaml file
🥦 Browser
None
👀 Have you checked for similar open issues?
🏢 Have you read the Contributing Guidelines?
Are you willing to work on this issue ?
Yes I am willing to submit a PR!
The text was updated successfully, but these errors were encountered: