Files
self/.cursorignore
Justin Hernandez 82d26669bc Enable tree-shakeable exports (#823)
* Add tree-shakeable exports

* Migrate imports for tree-shakeable paths

* Document ESM extension requirement

* udpates

* install new lock

* yarn nice

* build deps

* save working index export no wildcard approach

* save wip

* fix building

* add tree shaking doc and examples

* sort package json files

* update package.json

* fix analyzing web

* make sure that web is built

* wip tree shaking

* building works again. save wip logic

* use granular imports

* wip test

* save wip

* Remove hardcoded .d.ts files and setup automatic TypeScript declaration generation

- Remove redundant constants.d.ts, types.d.ts, utils.d.ts files
- Add build:types script to automatically generate TypeScript declarations
- Update tsup config to disable DTS generation (handled separately)
- Update .gitignore to prevent future commits of generated .d.ts files
- Fixes import resolution errors in app by ensuring declarations are always generated

* Add .gitignore rules for generated TypeScript declarations

* ignore dts files

* Remove redundant index.js re-export files

- Remove constants.js, types.js, utils.js as they're redundant with tsup build
- These were just re-exports pointing to dist files that tsup generates
- package.json exports already point directly to built files
- Update .gitignore to prevent future commits of these generated files
- tsup handles all the building, no manual re-export files needed

* save current wip fixes

* add tsup config for web building

* common prettier and fix imports

* prettier

* fix tests

* implement level 3 tree shaking

* improve splitting

* optimize vite web building and prettier

* remove comments

* sort export params

* feedback and fix pipelines

* fix circuit-names path

* fix test

* fix building

* sort

* fix building

* allow cursor to edit scripts

* fix loadDocumentCatalog undefined

* fix build settings

* fix build settings

* additional metro tree shaking

* improved discovery script for xcode building

* pr feedback and fix camelCasing

* simplify shim setup

* fix xcode building and add command to test building

* remove comment

* simplify
2025-08-02 16:55:05 -07:00

293 lines
5.7 KiB
Plaintext

# .cursorignore - Cursor AI editor ignore file
# This file prevents Cursor from accessing sensitive files and improves performance
# Note: .gitignore files are automatically included
# ========================================
# Security & Sensitive Files
# ========================================
# Environment and secrets
**/.env
**/.env.*
**/env.sample
**/*secrets*
**/*credentials*
**/*private*
**/google-services.json
**/GoogleService-Info.plist
# Keys and certificates
**/*.key
**/*.pem
**/*.p12
**/*.jks
**/*.keystore
**/*.cer
**/*.crt
**/*.cert
**/mock_*.key
**/mock_*.pem
**/debug.keystore
**/dev-keystore
# Mobile app sensitive files
app/android/app/google-services.json
app/ios/GoogleService-Info.plist
app/android/app/debug.keystore
app/android/dev-keystore
# Deployment scripts and CI/CD
circuits/scripts/server/*.sh
!node_modules/**/*.sh
# Fastlane configuration (may contain secrets)
app/fastlane/Fastfile
app/fastlane/helpers.rb
# Test wallets and mock data
app/ios/passport.json
app/ios/OpenPassport/passport.json
# Environment sample files
app/env.sample
sdk/.env
# ========================================
# Build Outputs & Generated Files
# ========================================
# General build outputs
**/dist/
**/build/
**/out/
**/.next/
**/*.tsbuildinfo
# Mobile build outputs
app/android/app/build/
app/android/build/
app/ios/build/
app/ios/Pods/
app/ios/DerivedData/
app/android/.gradle/
app/android/gradle/
app/android/gradlew
app/android/gradlew.bat
# Circuit build outputs
circuits/build/
circuits/**/*.r1cs
circuits/**/*.sym
circuits/**/*.json
circuits/**/*.wasm
circuits/**/*.zkey
circuits/**/*.vkey
circuits/**/*.wtns
circuits/ptau/
# Contract artifacts
contracts/artifacts/
contracts/cache/
contracts/typechain-types/
contracts/ignition/deployments/
# ========================================
# Dependencies & Package Management
# ========================================
# Node modules - everywhere
**/node_modules/
**/pnpm-lock.yaml
**/yarn.lock
**/package-lock.json
**/.yarn/
**/.pnp.*
# Mobile specific
app/ios/Podfile.lock
app/android/link-assets-manifest.json
app/ios/link-assets-manifest.json
# ========================================
# Large Data Files
# ========================================
# Circuit deployment artifacts (large JSON files)
app/deployments/artifacts/
# Public keys and trees (large JSON files)
common/pubkeys/public_keys_parsed.json
common/pubkeys/serialized_*.json
common/pubkeys/serialized_csca_tree.json
common/pubkeys/serialized_dsc_tree.json
common/pubkeys/serialized_tree.json
# OFAC and sanctions data
common/ofacdata/
common/sanctionedCountries/
common/ofacdata/original/*.csv
common/ofacdata/scripts/cleaned_sdn.csv
common/sanctionedCountries/outputs/sc_SMT.json
# Mock certificates (numerous files)
common/src/mock_certificates/
# Large SMT (Sparse Merkle Tree) files
contracts/test/utils/smt.json
# Circuit power files
circuits/circuits/utils/crypto/ec/powers/
# Test data files
app/android/android-passport-reader/app/src/main/assets/tessdata/
# ========================================
# Development & Testing
# ========================================
# Test coverage
**/coverage/
**/.nyc_output/
# Test files (optional - you might want AI to see tests)
# **/*.test.ts
# **/*.test.tsx
# **/*.spec.ts
# **/*.spec.tsx
# Temporary files
**/.tmp/
**/tmp/
**/.cache/
**/*.log
**/*.tmp
# ========================================
# IDE & Editor Files
# ========================================
.vscode/
.idea/
*.swp
*.swo
.DS_Store
.cursor/
# ========================================
# Documentation Build
# ========================================
# Documentation builds (if any)
docs/build/
docs/.docusaurus/
documentation/build/
documentation/.docusaurus/
# Development documentation
app/fastlane/DEV.md
common/ofacdata/original/dataspec.txt
# Generated constants from certificates
common/src/constants/skiPem.ts
# Circuit test cases (large)
circuits/tests/**/test_cases.ts
# ========================================
# Platform Specific
# ========================================
# iOS
*.xcworkspace/
*.xcodeproj/
*.pbxproj
app/ios/App Thinning Size Report.txt
# Android
*.iml
.gradle/
local.properties
app/android/android-passport-reader/examples/
# React Native config
app/react-native.config.cjs
# ========================================
# Miscellaneous
# ========================================
# License files (AI doesn't need these)
LICENSE
NOTICE
# Large media files
**/*.mp4
**/*.mov
**/*.avi
**/*.zip
**/*.tar.gz
# Patch files
patches/
# ========================================
# Project Specific Patterns
# ========================================
# Deployment addresses (might contain sensitive info)
contracts/deployed_addresses.json
contracts/ignition/deployments/staging/deployed_addresses.json
contracts/ignition/deployments/*/artifacts/
contracts/deployments/*/
!contracts/deployments/prod/
# Error selectors (generated)
contracts/error-selectors.json
# Hardhat network fork data
contracts/.hardhat_fork_cache/
# Lottie animation files (large JSON)
app/src/assets/animations/*.json
# Font files
app/src/assets/fonts/
# Yarn configuration
.yarnrc.yml
**/.yarn/
# Certificate generation config
common/src/scripts/extensions.cnf
# Powers of Tau files
circuits/ptau/
# ========================================
# Allow Important Files
# ========================================
# Ensure important config files are accessible
!tsconfig.json
!**/tsconfig.json
!package.json
!**/package.json
!hardhat.config.ts
!jest.config.*
!babel.config.*
!metro.config.*
!tamagui.config.ts
# Ensure source code is accessible
!**/*.ts
!**/*.tsx
!**/*.js
!**/*.jsx
!**/*.sol
!**/*.circom
# But exclude generated TypeScript declaration files
**/*.d.ts
!**/types/*.d.ts
!**/src/types/*.d.ts