nodeshift / nodejs-reference-architecture

The Red Hat and IBM Node.js Reference architecture. The teams 'opinion' on what components our customers and internal teams should use when building Node.js applications and guidance for how to be successful in production with those components.
https://nodeshift.dev/nodejs-reference-architecture/
Apache License 2.0
1.66k stars 120 forks source link

Reference Specification for API first approach #93

Closed wtrocki closed 2 years ago

wtrocki commented 2 years ago

Landing as first version/draft for discussion. Some styles/links will be improved further. I have also draft blog post to accompany this spec.

mhdawson commented 2 years ago

@wtrocki I pushed a commit with a substantial edit (I could not easily figure out how to do a PR against your PR).

We can discard if the edit does not make sense to you.

wtrocki commented 2 years ago

Provided changes looks good, but I'm not 100% sure if we want to rebrand this as API guide. Maybe we can find sweet spot between "building your API" vs "API first".

My only concern is that many developers can look into this chapter as "Building your API with express" and it will find very opiniated and unfamiliar concept for them to look at.

mhdawson commented 2 years ago

@wtrocki maybe we can add some additional words. The sections we have are "the team has had success with X". If our main success is with API first using express then it makes sense that this is what is in this section. Instead of narrowing the title I think it would be better to expand the content if there are other approaches/tools that we have used regularly and have had success with. I do think we want a topic with our guideance/experience with how to build a REST API.

mhdawson commented 2 years ago

The other thing I should have mentioned is that we should add the referenced modules to the npcheck.json file.

wtrocki commented 2 years ago

npcheck.json file.

npmcheck.json seems to be non functional right now and failing on build. Can I get help with adding those packages and fixing build? See #94

mhdawson commented 2 years ago

Getting npcheck working again on the repo is a priority. There is some ongoing discussion here: https://github.com/nodeshift/npcheck/pu](https://github.com/nodeshift/npcheck/pull/88. @richardlau has been out the last week though and I've had lots of other things so have had time to look. We should try to make sure we resolve in some way next week.

wtrocki commented 2 years ago

Done npmcheck.json Can we get this merged?

wtrocki commented 2 years ago

Need help with npmcheck

helio-frota commented 2 years ago

probably need to add these 2 packages in npcheck.json?

"tslib@2.3.1" ---- package which is under the non-acceptable license "0BSD". "caniuse-lite@1.0.30001282" ---- package which is under the non-acceptable license "CC-BY-4.0".

wtrocki commented 2 years ago

@helio-frota can you help me with those. I did not added those packages myself.

helio-frota commented 2 years ago

@wtrocki I think you just need to update npcheck.json with

stoplight/prism-http and openapi-editor same as you did for the others to exclude the licenses :+1:

(47): The module "@stoplight/prism-http" depends on the "tslib@2.3.1" package which is under the non-acceptable license "0BSD". - ERROR
(48): The module "@stoplight/prism-http" is not tested by community CITGM runs.
...
(56): The module "openapi-editor" depends on the "caniuse-lite@1.0.30001282" package which is under the non-acceptable license "CC-BY-4.0". - ERROR

like this https://github.com/nodeshift/nodejs-reference-architecture/pull/93/files#diff-b43bb8fc5cc3dd0ad9082a957b458e42e6d93d373577c112484736c3199fbea4R194

mhdawson commented 2 years ago

@wtrocki looked at the remaining 2 licence failure reports and the overall addition to the rules. 0BSD seems fine to me as it is less restrictive than the BSD ones we allow by default and the other 2 (Python-2.0 and CC-BY-4.0) we've already allowed exceptions for other components since they don't look like they'd be an issue.

I went ahead and update to allow thosteand the "due dilligence" is now green.

wtrocki commented 2 years ago

@mhdawson thank you so much! Let's merge that. I will

mhdawson commented 2 years ago

Pushed a commit on main branch to rename to "REST API Development" based on what we agreed in ref arch meeting this week.