
Security News
Deno 2.6 + Socket: Supply Chain Defense In Your CLI
Deno 2.6 introduces deno audit with a new --socket flag that plugs directly into Socket to bring supply chain security checks into the Deno CLI.
firestore-indexes-diff
Advanced tools
A modern CLI tool that displays differences between two Firestore index configuration files, helping you identify missing indexes when deploying across environments.
Ensure you have your Firestore index configuration files ready. You can export them using the Cloud Firestore Index Definition Reference.
pnpm dlx firestore-indexes-diff --source dev.json --target prod.json
# npx firestore-indexes-diff --source dev.json --target prod.json
# yarn dlx firestore-indexes-diff --source dev.json --target prod.json
pnpm add -g firestore-indexes-diff
# npm install -g firestore-indexes-diff
# yarn global add firestore-indexes-diff
diff-indexes --source dev.json --target prod.json
| Option | Alias | Type | Required | Description |
|---|---|---|---|---|
--source | -s | string | ✅ | Source indexes file path |
--target | -t | string | ✅ | Target indexes file path |
--version | -v | Show version number | ||
--help | -h | Show help |
The tool generates the following output files in your current directory:
diff-indexes.json - Contains missing indexesdiff-field-overrides.json - Contains missing field overrides# Compare your development environment against production
pnpm dlx firestore-indexes-diff --source dev-indexes.json --target prod-indexes.json
# Ensure staging has all the indexes from development
pnpm dlx firestore-indexes-diff --source dev-indexes.json --target staging-indexes.json
# In your CI pipeline, validate index completeness
- name: Check Firestore Index Completeness
run: |
# Export current production indexes
firebase firestore:indexes > prod-indexes.json
# Export your project's indexes
firebase firestore:indexes --project ${{ env.PROJECT_ID }} > current-indexes.json
# Check for missing indexes
pnpm dlx firestore-indexes-diff --source current-indexes.json --target prod-indexes.json
# Fail if differences found
if [ -f "diff-indexes.json" ]; then
echo "Missing indexes detected!"
cat diff-indexes.json
exit 1
fi
# Check multiple environments in sequence
environments=("dev" "staging" "prod")
for env in "${environments[@]}"; do
echo "Checking $env environment..."
pnpm dlx firestore-indexes-diff \
--source master-indexes.json \
--target "$env-indexes.json"
done
# Clone the repository
git clone https://github.com/omar-dulaimi/firestore-indexes-diff.git
cd firestore-indexes-diff
# Install dependencies
pnpm install
# Build the project
pnpm run build
# Run in development mode
pnpm run dev
MIT © Omar Dulaimi
FAQs
Displays differences between two Firestore index config files
We found that firestore-indexes-diff demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Deno 2.6 introduces deno audit with a new --socket flag that plugs directly into Socket to bring supply chain security checks into the Deno CLI.

Security News
New DoS and source code exposure bugs in React Server Components and Next.js: what’s affected and how to update safely.

Security News
Socket CEO Feross Aboukhadijeh joins Software Engineering Daily to discuss modern software supply chain attacks and rising AI-driven security risks.