asyncapi-validator
asyncapi-validator copied to clipboard
Issue when building angular 12 library with asyncapi-validator included
Building an angular 12 application with this library included fails:
` ./node_modules/@apidevtools/json-schema-ref-parser/lib/resolvers/http.js:3:13-28 - Error: Module not found: Error: Can't resolve 'http' in 'C:\Git\myproject\node_modules@apidevtools\json-schema-ref-parser\lib\resolvers' Did you mean './http'? Requests that should resolve in the current directory need to start with './'. Requests that start with a name are treated as module requests and resolve within module directories (C:/Git/myproject, node_modules). If changing the source code is not an option there is also a resolve options called 'preferRelative' which tries to resolve these kind of requests in the current directory too.
BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default. This is no longer the case. Verify if you need this module and configure a polyfill for it.
If you want to include a polyfill, you need to: - add a fallback 'resolve.fallback: { "http": require.resolve("stream-http") }' - install 'stream-http' If you don't want to include a polyfill, you can use an empty module like this: resolve.fallback: { "http": false }
./node_modules/@apidevtools/json-schema-ref-parser/lib/resolvers/http.js:4:14-30 - Error: Module not found: Error: Can't resolve 'https' in 'C:\Git\myproject\node_modules@apidevtools\json-schema-ref-parser\lib\resolvers'
BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default. This is no longer the case. Verify if you need this module and configure a polyfill for it.
If you want to include a polyfill, you need to: - add a fallback 'resolve.fallback: { "https": require.resolve("https-browserify") }' - install 'https-browserify' If you don't want to include a polyfill, you can use an empty module like this: resolve.fallback: { "https": false }
./node_modules/asyncapi-validator/src/Parser.js:7:27-49 - Error: Module not found: Error: Can't resolve 'fs' in 'C:\Git\myproject\node_modules\asyncapi-validator\src' `
http and https were fixed by this piece of configuration:
{ "compilerOptions": { "paths": { "http": [ "./node_modules/stream-http" ], "https": [ "./node_modules/https-browserify" ] } } }