Simplify building NodeJS applications on Google App Engine (GAE)
- gae-js-core
- gae-js-firestore
- gae-js-firestore-backups
- gae-js-datastore
- gae-js-datastore-backups
- gae-js-storage
- gae-js-tasks
- gae-js-bigquery
- gae-js-google-auth
- gae-js-firebase-auth
- gae-js-migrations
- gae-js-search
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:
- 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
- Update package versions
- Based on the changeset configuration - this will automatically version the packages.
npx changeset version
- Commit changes
- 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
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.jsonfrom one of the existing packages - Update
package.jsonto match desired name, version, dependencies, etc - Update
tsconfig.jsonto match desired project references. - Create file src/index.ts and export some constant
- Run
npm installfrom root folder - Run
npm run buildfrom project folder