diff --git a/README.md b/README.md index 7b23ecc..38548b7 100644 --- a/README.md +++ b/README.md @@ -17,4 +17,58 @@ Simplify building NodeJS applications on Google App Engine (GAE) - [gae-js-google-auth](https://mondo-mob.github.io/gae-js-docs/packages/gae-js-google-auth.html) - [gae-js-firebase-auth](https://mondo-mob.github.io/gae-js-docs/packages/gae-js-firebase-auth.html) - [gae-js-migrations](https://mondo-mob.github.io/gae-js-docs/packages/gae-js-migrations.html) -- [gae-js-search](https://mondo-mob.github.io/gae-js-docs/packages/gae-js-gae-search.html) \ No newline at end of file +- [gae-js-search](https://mondo-mob.github.io/gae-js-docs/packages/gae-js-gae-search.html) + +## 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/gae-js-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 diff --git a/package-lock.json b/package-lock.json index 9490ca9..450756d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11775,9 +11775,9 @@ } }, "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz", + "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==", "engines": { "node": ">=0.10.0" } @@ -11961,7 +11961,7 @@ }, "packages/gae-js-datastore": { "name": "@mondomob/gae-js-datastore", - "version": "10.0.1", + "version": "10.2.0", "license": "MIT", "dependencies": { "dataloader": "^2.2.2", @@ -11994,7 +11994,7 @@ "@google-cloud/tasks": "3.1.2", "@mondomob/gae-js-bigquery": "2.0.0", "@mondomob/gae-js-core": "7.0.3", - "@mondomob/gae-js-datastore": "10.0.1", + "@mondomob/gae-js-datastore": "10.2.0", "@mondomob/gae-js-storage": "9.0.1", "@mondomob/gae-js-tasks": "11.1.0", "@types/luxon": "3.3.0",