Transferring rights of create-openmrs-app

Create-openmrs-app is the final repository which contains scripts to automate setting up openmrs-react-components with

  1. Minimal Configuration
  2. Example Configuration

These are published to npm & travis ci is also integrated.

I need to transfer rights of this repository to openmrs & also travisci should be setup on openmrs account.

@mogoodrich, @dkayiwa

1 Like

Can you share a link of the repository that you are referring to?

Did you evaluate options for raising pull requests to the main repository, that would make it configurable for our customisations, without creating a fork that we have to maintain?

Hi @dkayiwa, this is not a fork, actually it is repository that has scripts to generate template projects from the openmrs-react-components library

I don’t think this can be merged into the main repository.

What say @judeniroshan?

Let me put it differently, when improvements and bug fixes are made to the main repository at facebook, how do you plan to get them into this fork?

Just to be clear for everyone who is reading this thread:

Main repository = Original create-react-app repository maintained by Facebook.

Project repository = A fork that made from Main repository(above mentioned) but customized for openmrs OWA.

@dkayiwa In order to make project repo up-to-date, we have to do it manually timely wise or we have to write a script to do that merging from upstream(Main repo). Currently @beingtmk has not set the upstream for his project repo (Which is something we have to do). Do you have any other suggestions? :grinning:

Did you evaluate options for raising pull requests to the main repository, that would make it configurable for our customisations, without creating a fork that we have to maintain?


i don’t think thats possible since these are customizations just for openmrs related requirements.

what he meant was, requesting Facebook to allow integrations for the project. So that anyone wants to customize the create-react-app could be customized as we did.

For example, if LibreOffice needs to have create-libreoffice-app, most of the time they also have to follow the same process what we did but slightly differently. @dkayiwa Isn’t that what you meant?

Actually, we didn’t evaluate on this topic as we were bound to timeline restrictions of GSoC. But I agree with @dkayiwa that we need a stable long term solution on the project repo.

Yes Sir! :slight_smile:

@dkayiwa, @judeniroshan

Actually the facebook repository is made of many packages, i have just edited the files of the react-scripts package so as to generate a required template. there is no need for us to have other files/packages.

Also i am not publishing the whole repository to npm just the react-scripts package.

see “packages/react-scripts”. This anyways we will have to maintain

What strategy do you have for some one who wants to have your custom changes but also take advantage of the latest changes in facebook’s repository.

@dkayiwa, i can only think of the same solution as @judeniroshan, of manually doing fetch & merge time and again.

i tried to find online if there was a way to automate that, but was unable to get anything!

hi @dkayiwa,

These are the two final repositories for my submission

  1. Minimalistic Template:
  2. Example Template:

I have removed all the parts of the fork from facebook-cra which were unnecessary.

Now these repositories only contain the part that i have edited, which is of the package “react-scripts”. This is the only part that is responsible for generating the final template.

Both of the above repositories are published to npm with travis ci integrated.

The way you generate a template is:

npx create-react-app test-app --scripts-version openmrs-react-scripts

so basically you are just using the create-react-app to generate the project, just that you are using the customized version of the “react-scripts”, that is responsible for the final customization of the template once the project is generated by cra.

Hope this reduces maintainability to only those parts which we anyways need to maintain.


1 Like