tabletcommand-sync-settings
v2.2.19
Published
Tablet Command Sync Settings
Readme
tabletcommand-sync-settings
A TypeScript library for managing and formatting user settings in the Tablet Command ecosystem. This package centralizes the logic for computing user-specific settings by merging department configurations, user preferences, agency settings, and environmental configurations.
Development
Building
npm run buildTesting
npm testLinting
npm run lintPackage Maintenance
Upgrading Dependencies
Before publishing a new version, follow these steps to keep dependencies up to date:
1. Install npm-check-updates (one-time setup)
npm i -g npm-check-updates2. Update Minor Versions
Run this command in the same folder where package.json is located:
npx ncu -i --target minorReview and select packages that are safe to update, such as:
- Development tools:
cspell,eslint,mocha,chai,@types/* - Internal packages:
tabletcommand-backend-models(e.g., 7.4.15 → 7.4.34)
3. Check for Major Version Updates
Run without the --target minor flag to see all available upgrades:
npx ncu -iEvaluate each major version upgrade carefully:
Examples of Safe to Upgrade
- uuid: Compatible upgrades from v9 → v10 → v11 → v12 → latest
- mocha/chai: Generally compatible across versions
- Development dependencies: Usually safe to upgrade
Proceed with Caution
- @types/node: Match your Node.js environment version
- Example: If running Node.js 22.x, use
@types/node ^22.x.x, NOT^25.x.x
- Example: If running Node.js 22.x, use
- @esri/@arcgis packages: Do NOT upgrade without testing - breaking changes common
- redis packages: Incompatible changes between major versions
- Note: Current test mocking libraries don't support the latest Node.js Redis package
4. Track Outdated Dependencies
For packages that cannot be safely upgraded:
- Create a story to track the outdated dependency
- Document why it can't be upgraded
- Note possible solutions or blockers
5. Verify Security Alerts
After updating and pushing changes, verify that Dependabot alerts are cleared:
https://github.com/TabletCommand/tabletcommand-sync-settings/security/dependabot
Best Practices
- Always test after upgrading dependencies
- Review changelogs for major version bumps
- Run the full test suite before publishing
- Keep
@types/nodealigned with your Node.js version - Document any upgrade blockers or compatibility issues
Repository
https://github.com/TabletCommand/tabletcommand-sync-settings
