Skip to content

Simplify building NodeJS applications on Google App Engine (GAE)

License

Notifications You must be signed in to change notification settings

mondo-mob/gae-js

Repository files navigation

GAE JS

Simplify building NodeJS applications on Google App Engine (GAE)

Official documentation

Package documentation

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
  1. Update package versions
  • Based on the changeset configuration - this will automatically version the packages.
npx changeset version
  • Commit changes
  1. 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

About

Simplify building NodeJS applications on Google App Engine (GAE)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages