Notes specifically for repository maintainers
- implement worlds api endpoint
- add client logout button
- extend server session length to match how long discord auth tokens are valid (maybe a bit shorter than max auth token age)
- upload cypress screenshots, videos, and/or rush *.log artifacts to github build artifacts for debugging
- auth fails when switching discord accounts at login
- auth fails on first couple renders, refresh resolves
- upgrade to eslint v9
- upgrade eslint-plugin-ava to latest major
- upgrade to latest @testing-library/react
- fix peer dependency issues
- docs: updating/upgrading node
- lint js/md on precommit?
- build cache things
- esm-ify more packages
- publish
- generate changelogs
Use a custom rush command (see command-line.json) that calls plop to scaffold a new project. Answer the command line prompts to generate a new project based on templates in @trshcmpctr/scaffold.
rush scaffold
WARN: Autoinstallers are managed separately, see rush-commitlint.
Periodically bump project dependencies for new features and fixes, e.g. before starting or after completing new feature development. Break dependency upgrades into stages to make it easier to identify what version changes are responsible for any problems. Lint code, run tests, and validate affected project behavior at each stage:
Use the out of the box rush update feature to bump all packages to the latest version available that satisfies current range specifiers. Since this repo abides by the default rush convention that package specifiers are prefixed by tildes, this effectively implies only patch updates.
rush update --full
git add common/rush/pnpm-lock.yaml common/rush/repo-state.json
git commit -m 'build(deps): rush update --full'
Use a custom rush command1 (see command-line.json) that calls npm-check-updates to bump all packages to the latest minor version.
rush update-minor
rush update
git add -A
git commit -m 'build(deps): rush update-minor'
Use a custom rush command1 (see command-line.json) that calls npm-check-updates to bump all packages to the latest major version.
rush update-major
rush update
git add -A
git commit -m 'build(deps): rush update-major'
Packages excluded via the --reject option:
@types/node
is excluded because the major version of this package corresponds with the expected major version of Node and this repository will continue to use Node 18 until Node 20 becomes the active Long Term Support (LTS) versioneslint
is excluded because some plugins are not compatible with v9eslint-plugin-ava
is excluded until we can upgrade to eslint v9
Blockers for Eslint v9:
eslint-plugin-import
import-js/eslint-plugin-import#2948eslint-plugin-jest
eslint-plugin-jsx-a11y
eslint-plugin-react-hooks
eslint-plugin-testing-library
@typescript-eslint/utils
Periodically update the version of pnpm used in this repo with the
pnpmVersion
field in rush.json.
See the pnpm releases page for details on new features and fixes.
Run rush update
with the --recheck
flag to pick up any subtle
differences in dependency calculation and commit the changes to
rush.json
as well as any changes in pnpm-lock.yaml.
rush update --recheck
git add rush.json common/config/rush/pnpm-lock.yaml
git commit -m 'build(deps): update pnpm from x to y'
Periodically update the version of Rush used in this repo with the
rushVersion
field in rush.json.
See the Rush changelog for details on new features and fixes.
Run rush update
and commit changes to rush.json
as well as any
scripts modified in common/scripts.
rush update
git add rush.json common/scripts
git commit -m 'build(deps): update rush from x to y'