felvin-search / docs

Docs at Felvin
https://docs.felvin.com
8 stars 4 forks source link

Create a document describing our NPM registry things work #37

Closed hargup closed 2 years ago

OrkoHunter commented 2 years ago

Notes on NPM orgs

There is a few NPM organizations that we own on NPM - https://www.npmjs.com

An npm package can be published independently without any association with any org e.g. react. But if there is an organization publishing multiple packages, it's better to namespace them under an org. e.g. @types/react, @types/<etc.>. Here, types is the name of the org and the whole @types/<package> is the name of the NPM package.

Now for the Felvin Open Source Instant Apps - it's better to group the open source apps under one org but keep the core under a separate org. So, the felvin-search-apps org is used for publishing those apps. Examples 1 2.

But felvin-search namespace is used for core packages. Example 1 2.

The felvin org is unused as of now.

Membership

@hargup you are an Owner of both felvin and felvin-search orgs. Once you accept the invitation on felvin-search-apps, I'll make you an owner of the org.

We do not use teams on NPM, members are added on individual basis. And it's all free since the packages are public.

Publishing

Both https://github.com/felvin-search/felvin.com and https://github.com/felvin-search/instant-apps has publishing enabled for its NPM packages (core and open source packages respectively).

There is an NPM_TOKEN environment variable stored in GitHub secrets which is used in the GitHub actions CI environment.

All the packages are published using this release workflow which publishes them once every day, but can also be triggered manually from the Actions tab. https://github.com/felvin-search/instant-apps/actions/workflows/release.yml

Side note about PAT

While we are at updating the secrets, I notice a PAT environment variable. I think this is a GitHub Personal Access Token.

@sahil-shubham do we really need it? GitHub actions automatically creates a secrets.GITHUB_TOKEN env variable which should be enough to do a checkout of the repository. Let us know if PAT has any other use-case and if we should keep it or remove it. If we're to keep it, we should ask @hargup to update with his own github token.

sahil-shubham commented 2 years ago

Let us know if PAT has any other use-case and if we should keep it or remove it. If we're to keep it, we should ask @hargup to update with his own github token.

It's used so that the action can commit any changes from my place. We should replace it with Harsh's PAT as I would be losing the write access to private repositories soon.

hargup commented 2 years ago

@OrkoHunter thanks for the detailed instructions. I have:

Please make me owner of felvin-search-apps org. BTW, I'm considering renaming the org felvin-search-apps with felvin-community org. Reason felvin-search and felvin-search-apps is kinda confusing. We can use felvin-community org for all community maintained open source projects sponsored by Felvin, it also explicitly acknowledges the involvement of the community.

How do you feel about the new proposed name?

OrkoHunter commented 2 years ago

All TODOs done here. Name rename sounds good to me as discussed over email. :)

hargup commented 2 years ago

@sahil-shubham can you take up renaming the NPM org from felvin-search-apps to felvin-community?

hargup commented 2 years ago

This ticket was done, thanks for the work @OrkoHunter

sahil-shubham commented 2 years ago

can you take up renaming the NPM org from felvin-search-apps to felvin-community?

Would change it, cool.