Skip to content

Commit

Permalink
Move contributing and dev instructions into root readme
Browse files Browse the repository at this point in the history
  • Loading branch information
mbyrne00 committed Dec 11, 2023
1 parent aedd0f0 commit b6ff6a1
Showing 1 changed file with 55 additions and 1 deletion.
56 changes: 55 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,61 @@ Built for ESM only.
These libraries have most recently evolved from [GAE JS](https://github.com/mondo-mob/gae-js), authored by the same team. They have been re-branded,
given they are not just useful for Google App Engine, updated for ESM, and cleaned up with deprecations removed.

## Development

## Contributing

This is a mono-repo using npm workspaces.
Publishing is done using Atlassian Changesets (https://github.com/changesets/changesets).
This helps be consistent with versioning and auto-generates changelogs.

Here's the basic flow:

1. Create one or more changesets

- Once you've made your changes, create a changeset. You can create more than one changeset for a single version.

```
npx changeset
```

- From the cli tool, choose which packages to update and if major/minor/patch update
- Enter summary for changes
- Review and commit files

2. Update package versions

- Based on the changeset configuration - this will automatically version the packages.

```
npx changeset version
```

- Commit changes

3. Build and publish

Would be nice if this was done from CI but for now we do this locally.

- Check you're running a suitable version of node/npm. If not switch and clear out old node_modules.
- Build and publish

```
npm run publish-libs
```

### Adding new packages

There's nothing automated to do this. Essentially you just need to add a new package to `/packages` folder but
these steps should save some time:

- Create new folder in `/packages`. e.g. `/packages/gcp-new-thing`, `/packages/aws-new-thing`, `/packages/azure-new-thing`
- Copy `package.json`, `tsconfig.json`, `tsconfig.prod.json`, `jest.config.json` from one of the existing packages
- Update `package.json` to match desired name, version, dependencies, etc
- Update `tsconfig.json` to match desired project references.
- Create file src/index.ts and export some constant
- Run `npm install` from root folder
- Run `npm run build` from project folder


### Merging fixes from gae-js
Feel free to change:
Expand Down

0 comments on commit b6ff6a1

Please sign in to comment.