forked from trent_larson/crowd-funder-for-time-pwa
- Add podspec file for daily notification plugin with correct name
- Create TimesafariDailyNotificationPlugin.podspec to match Capacitor's
expected naming convention
- Podspec name must match Podfile reference for CocoaPods compatibility
- Update Podfile to reference TimesafariDailyNotificationPlugin
- Add automated fix script for podspec creation
- scripts/fix-daily-notification-podspec.sh creates podspec with correct
name before Capacitor sync
- Integrated into build-ios.sh build process
- Fix typo in package.json: change "pina" to "pinia" (^2.1.7)
Fixes:
- Vite build error: "Failed to resolve import 'pinia'"
- CocoaPods error: "No podspec found for 'TimesafariDailyNotificationPlugin'"
- CocoaPods error: "The name of the given podspec doesn't match the expected one"
The podspec file is created automatically during the build process to ensure
Capacitor sync can find the plugin with the expected name, while maintaining
compatibility with the actual podspec file name in the plugin package.
284 lines
14 KiB
JSON
284 lines
14 KiB
JSON
{
|
|
"name": "timesafari",
|
|
"version": "1.1.6-beta",
|
|
"description": "Time Safari Application",
|
|
"author": {
|
|
"name": "Time Safari Team"
|
|
},
|
|
"scripts": {
|
|
"lint": "eslint --ext .js,.ts,.vue --ignore-path .gitignore src",
|
|
"lint-fix": "eslint --ext .js,.ts,.vue --ignore-path .gitignore --fix src",
|
|
"type-safety-check": "./scripts/type-safety-check.sh",
|
|
"type-check": "tsc --noEmit",
|
|
"prebuild": "eslint --ext .js,.ts,.vue --ignore-path .gitignore src && node sw_combine.js && node scripts/copy-wasm.js",
|
|
"test:prerequisites": "node scripts/check-prerequisites.js",
|
|
"check:dependencies": "./scripts/check-dependencies.sh",
|
|
"test:all": "npm run lint && tsc && npm run test:web && npm run test:mobile && ./scripts/test-safety-check.sh && echo '\n\n\nGotta add the performance tests'",
|
|
"test:web": "npx playwright test -c playwright.config-local.ts --trace on",
|
|
"test:mobile": "./scripts/test-mobile.sh",
|
|
"test:android": "node scripts/test-android.js",
|
|
"test:ios": "node scripts/test-ios.js",
|
|
"check:android-device": "adb devices | grep -w 'device' || (echo 'No Android device connected' && exit 1)",
|
|
"check:ios-device": "xcrun xctrace list devices 2>&1 | grep -w 'Booted' || (echo 'No iOS simulator running' && exit 1)",
|
|
"auto-run": "./scripts/auto-run.sh",
|
|
"auto-run:test": "./scripts/auto-run.sh --test",
|
|
"auto-run:prod": "./scripts/auto-run.sh --prod",
|
|
"auto-run:ios": "./scripts/auto-run.sh --platform=ios",
|
|
"auto-run:android": "./scripts/auto-run.sh --platform=android",
|
|
"auto-run:electron": "./scripts/auto-run.sh --platform=electron",
|
|
"build:capacitor": "VITE_GIT_HASH=`git log -1 --pretty=format:%h` vite build --mode capacitor --config vite.config.capacitor.mts",
|
|
"build:capacitor:sync": "npm run build:capacitor && npx cap sync && node scripts/restore-local-plugins.js",
|
|
"build:native": "vite build && npx cap sync && node scripts/restore-local-plugins.js && npx capacitor-assets generate",
|
|
"assets:config": "npx tsx scripts/assets-config.ts",
|
|
"assets:validate": "npx tsx scripts/assets-validator.ts",
|
|
"assets:validate:android": "./scripts/build-android.sh --assets-only",
|
|
"assets:clean": "rimraf android/app/src/main/res/mipmap-* ios/App/App/Assets.xcassets/**/AppIcon*.png ios/App/App/Assets.xcassets/**/Splash*.png || true",
|
|
"build:ios": "./scripts/build-ios.sh",
|
|
"build:ios:dev": "./scripts/build-ios.sh --dev",
|
|
"build:ios:test": "./scripts/build-ios.sh --test",
|
|
"build:ios:test:run": "./scripts/build-ios.sh --test --auto-run",
|
|
"build:ios:prod": "./scripts/build-ios.sh --prod",
|
|
"build:ios:prod:run": "./scripts/build-ios.sh --prod --auto-run",
|
|
"build:ios:debug": "./scripts/build-ios.sh --debug",
|
|
"build:ios:debug:run": "./scripts/build-ios.sh --debug --auto-run",
|
|
"build:ios:release": "./scripts/build-ios.sh --release",
|
|
"build:ios:release:run": "./scripts/build-ios.sh --release --auto-run",
|
|
"build:ios:studio": "./scripts/build-ios.sh --studio",
|
|
"build:ios:ipa": "./scripts/build-ios.sh --ipa",
|
|
"build:ios:clean": "./scripts/build-ios.sh --clean",
|
|
"build:ios:sync": "./scripts/build-ios.sh --sync",
|
|
"build:ios:assets": "./scripts/build-ios.sh --assets",
|
|
"build:ios:deploy": "./scripts/build-ios.sh --deploy",
|
|
"build:ios:dev:custom": "./scripts/build-ios.sh --dev --api-ip",
|
|
"build:ios:test:custom": "./scripts/build-ios.sh --test --api-ip",
|
|
"build:ios:dev:run:custom": "./scripts/build-ios.sh --dev --api-ip --auto-run",
|
|
"build:ios:test:run:custom": "./scripts/build-ios.sh --test --api-ip --auto-run",
|
|
"build:web": "./scripts/build-web.sh",
|
|
"build:web:dev": "./scripts/build-web.sh --dev",
|
|
"build:web:test": "./scripts/build-web.sh --test",
|
|
"build:web:prod": "./scripts/build-web.sh --prod",
|
|
"build:web:docker": "./scripts/build-web.sh --docker",
|
|
"build:web:docker:test": "./scripts/build-web.sh --docker:test",
|
|
"build:web:docker:prod": "./scripts/build-web.sh --docker:prod",
|
|
"build:web:serve": "./scripts/build-web.sh --serve",
|
|
"build:web:serve:test": "./scripts/build-web.sh --serve --test",
|
|
"build:web:serve:prod": "./scripts/build-web.sh --serve --prod",
|
|
"docker:up": "docker-compose up",
|
|
"docker:up:test": "npm run build:web:build -- --mode test && docker-compose up test",
|
|
"docker:up:prod": "npm run build:web:build -- --mode production && docker-compose up production",
|
|
"docker:down": "docker-compose down",
|
|
"docker:logs": "docker-compose logs -f",
|
|
"build:electron": "./scripts/build-electron.sh",
|
|
"build:electron:dev": "./scripts/build-electron.sh --dev",
|
|
"build:electron:dev:run": "./scripts/build-electron.sh --dev --auto-run",
|
|
"build:electron:test": "./scripts/build-electron.sh --test",
|
|
"build:electron:test:run": "./scripts/build-electron.sh --test --auto-run",
|
|
"build:electron:prod": "./scripts/build-electron.sh --prod",
|
|
"build:electron:prod:run": "./scripts/build-electron.sh --prod --auto-run",
|
|
"build:electron:windows": "./scripts/build-electron.sh --prod --windows",
|
|
"build:electron:windows:dev": "./scripts/build-electron.sh --dev --windows",
|
|
"build:electron:windows:test": "./scripts/build-electron.sh --test --windows",
|
|
"build:electron:windows:prod": "./scripts/build-electron.sh --prod --windows",
|
|
"build:electron:mac": "./scripts/build-electron.sh --prod --mac",
|
|
"build:electron:mac:dev": "./scripts/build-electron.sh --dev --mac",
|
|
"build:electron:mac:test": "./scripts/build-electron.sh --test --mac",
|
|
"build:electron:mac:prod": "./scripts/build-electron.sh --prod --mac",
|
|
"build:electron:linux": "./scripts/build-electron.sh --prod --linux",
|
|
"build:electron:linux:dev": "./scripts/build-electron.sh --dev --linux",
|
|
"build:electron:linux:test": "./scripts/build-electron.sh --test --linux",
|
|
"build:electron:linux:prod": "./scripts/build-electron.sh --prod --linux",
|
|
"build:electron:appimage": "./scripts/build-electron.sh --prod --appimage",
|
|
"build:electron:appimage:dev": "./scripts/build-electron.sh --dev --appimage",
|
|
"build:electron:appimage:test": "./scripts/build-electron.sh --test --appimage",
|
|
"build:electron:appimage:prod": "./scripts/build-electron.sh --prod --appimage",
|
|
"build:electron:deb": "./scripts/build-electron.sh --prod --deb",
|
|
"build:electron:deb:dev": "./scripts/build-electron.sh --dev --deb",
|
|
"build:electron:deb:test": "./scripts/build-electron.sh --test --deb",
|
|
"build:electron:deb:prod": "./scripts/build-electron.sh --prod --deb",
|
|
"build:electron:dmg": "./scripts/build-electron.sh --prod --dmg",
|
|
"build:electron:dmg:dev": "./scripts/build-electron.sh --dev --dmg",
|
|
"build:electron:dmg:test": "./scripts/build-electron.sh --test --dmg",
|
|
"build:electron:dmg:prod": "./scripts/build-electron.sh --prod --dmg",
|
|
"markdown:fix": "markdownlint-cli2 --fix",
|
|
"markdown:check": "markdownlint-cli2",
|
|
"markdown:setup": "./scripts/setup-markdown-hooks.sh",
|
|
"prepare": "husky",
|
|
"guard": "bash ./scripts/build-arch-guard.sh",
|
|
"guard:test": "bash ./scripts/build-arch-guard.sh --staged",
|
|
"guard:setup": "npm run prepare && echo '✅ Build Architecture Guard is now active!'",
|
|
"clean:android": "./scripts/uninstall-android.sh",
|
|
"clean:ios": "rm -rf ios/App/build ios/App/Pods ios/App/output ios/App/App/public ios/DerivedData ios/capacitor-cordova-ios-plugins ios/App/App/capacitor.config.json ios/App/App/config.xml || true",
|
|
"clean:electron": "./scripts/build-electron.sh --clean",
|
|
"clean:all": "npm run clean:ios && npm run clean:android && npm run clean:electron",
|
|
"build:android": "./scripts/build-android.sh",
|
|
"build:android:dev": "./scripts/build-android.sh --dev",
|
|
"build:android:test": "./scripts/build-android.sh --test",
|
|
"build:android:test:run": "./scripts/build-android.sh --test --auto-run",
|
|
"build:android:prod": "./scripts/build-android.sh --prod",
|
|
"build:android:prod:run": "./scripts/build-android.sh --prod --auto-run",
|
|
"build:android:debug": "./scripts/build-android.sh --debug",
|
|
"build:android:debug:run": "./scripts/build-android.sh --debug --auto-run",
|
|
"build:android:release": "./scripts/build-android.sh --release",
|
|
"build:android:release:run": "./scripts/build-android.sh --release --auto-run",
|
|
"build:android:studio": "./scripts/build-android.sh --studio",
|
|
"build:android:apk": "./scripts/build-android.sh --apk",
|
|
"build:android:aab": "./scripts/build-android.sh --aab",
|
|
"build:android:clean": "./scripts/build-android.sh --clean",
|
|
"build:android:sync": "./scripts/build-android.sh --sync",
|
|
"build:android:assets": "./scripts/build-android.sh --assets",
|
|
"build:android:deploy": "./scripts/build-android.sh --deploy",
|
|
"build:android:dev:custom": "./scripts/build-android.sh --dev --api-ip",
|
|
"build:android:test:custom": "./scripts/build-android.sh --test --api-ip",
|
|
"build:android:dev:run:custom": "./scripts/build-android.sh --dev --api-ip --auto-run",
|
|
"build:android:test:run:custom": "./scripts/build-android.sh --test --api-ip --auto-run"
|
|
},
|
|
"lint-staged": {
|
|
"*.{js,ts,vue,css,json,yml,yaml}": "eslint --fix || true",
|
|
"*.{md,markdown,mdc}": "markdownlint-cli2 --fix"
|
|
},
|
|
"dependencies": {
|
|
"@capacitor-community/electron": "^5.0.1",
|
|
"@capacitor-community/sqlite": "6.0.2",
|
|
"@capacitor-mlkit/barcode-scanning": "^6.0.0",
|
|
"@capacitor/android": "^6.2.0",
|
|
"@capacitor/app": "^6.0.0",
|
|
"@capacitor/camera": "^6.0.0",
|
|
"@capacitor/cli": "^6.2.0",
|
|
"@capacitor/clipboard": "^6.0.2",
|
|
"@capacitor/core": "^6.2.0",
|
|
"@capacitor/filesystem": "^6.0.0",
|
|
"@capacitor/ios": "^6.2.0",
|
|
"@capacitor/share": "^6.0.3",
|
|
"@capacitor/status-bar": "^6.0.2",
|
|
"@capawesome/capacitor-file-picker": "^6.2.0",
|
|
"@timesafari/daily-notification-plugin": "git+https://gitea.anomalistdesign.com/trent_larson/daily-notification-plugin.git#master",
|
|
"@dicebear/collection": "^5.4.1",
|
|
"@dicebear/core": "^5.4.1",
|
|
"@ethersproject/hdnode": "^5.7.0",
|
|
"@ethersproject/wallet": "^5.8.0",
|
|
"@fortawesome/fontawesome-svg-core": "^6.5.1",
|
|
"@fortawesome/free-brands-svg-icons": "^6.5.1",
|
|
"@fortawesome/free-regular-svg-icons": "^6.7.2",
|
|
"@fortawesome/free-solid-svg-icons": "^6.5.1",
|
|
"@fortawesome/vue-fontawesome": "^3.0.6",
|
|
"@jlongster/sql.js": "^1.6.7",
|
|
"@nostr/tools": "npm:@jsr/nostr__tools@^2.15.0",
|
|
"@peculiar/asn1-ecc": "^2.3.8",
|
|
"@peculiar/asn1-schema": "^2.3.8",
|
|
"@pvermeer/dexie-encrypted-addon": "^3.0.0",
|
|
"@simplewebauthn/browser": "^10.0.0",
|
|
"@simplewebauthn/server": "^10.0.0",
|
|
"@tweenjs/tween.js": "^21.1.1",
|
|
"@types/qrcode": "^1.5.5",
|
|
"@veramo/core": "^5.6.0",
|
|
"@veramo/credential-w3c": "^5.6.0",
|
|
"@veramo/data-store": "^5.6.0",
|
|
"@veramo/did-manager": "^5.6.0",
|
|
"@veramo/did-provider-ethr": "^5.6.0",
|
|
"@veramo/did-provider-peer": "^6.0.0",
|
|
"@veramo/did-resolver": "^5.6.0",
|
|
"@veramo/key-manager": "^5.6.0",
|
|
"@vue-leaflet/vue-leaflet": "^0.10.1",
|
|
"@vueuse/core": "^12.3.0",
|
|
"@zxing/text-encoding": "^0.9.0",
|
|
"absurd-sql": "^0.0.54",
|
|
"asn1-ber": "^1.2.2",
|
|
"axios": "^1.6.8",
|
|
"cbor-x": "^1.5.9",
|
|
"class-transformer": "^0.5.1",
|
|
"dexie": "^3.2.7",
|
|
"dexie-export-import": "^4.1.4",
|
|
"did-jwt": "^7.4.7",
|
|
"did-resolver": "^4.1.0",
|
|
"diff": "^8.0.2",
|
|
"dotenv": "^16.0.3",
|
|
"electron-builder": "^26.0.12",
|
|
"ethereum-cryptography": "^2.1.3",
|
|
"ethereumjs-util": "^7.1.5",
|
|
"jdenticon": "^3.2.0",
|
|
"js-generate-password": "^0.1.9",
|
|
"js-yaml": "^4.1.0",
|
|
"jsqr": "^1.4.0",
|
|
"leaflet": "^1.9.4",
|
|
"localstorage-slim": "^2.7.0",
|
|
"lru-cache": "^10.2.0",
|
|
"luxon": "^3.4.4",
|
|
"merkletreejs": "^0.3.11",
|
|
"notiwind": "^2.0.2",
|
|
"papaparse": "^5.4.1",
|
|
"pinia": "^2.1.7",
|
|
"pinia-plugin-persistedstate": "^3.2.1",
|
|
"qr-code-generator-vue3": "^1.4.21",
|
|
"qrcode": "^1.5.4",
|
|
"ramda": "^0.29.1",
|
|
"readable-stream": "^4.5.2",
|
|
"reflect-metadata": "^0.1.14",
|
|
"register-service-worker": "^1.7.2",
|
|
"simple-vue-camera": "^1.1.3",
|
|
"sqlite3": "^5.1.7",
|
|
"stream-browserify": "^3.0.0",
|
|
"three": "^0.156.1",
|
|
"ua-parser-js": "^1.0.37",
|
|
"uint8arrays": "^5.0.0",
|
|
"vue": "3.5.13",
|
|
"vue-axios": "^3.5.2",
|
|
"vue-facing-decorator": "3.0.4",
|
|
"vue-markdown-render": "^2.2.1",
|
|
"vue-picture-cropper": "^0.7.0",
|
|
"vue-qrcode-reader": "^5.5.3",
|
|
"vue-router": "^4.5.0",
|
|
"web-did-resolver": "^2.0.27",
|
|
"zod": "^3.24.2"
|
|
},
|
|
"devDependencies": {
|
|
"@capacitor/assets": "^3.0.5",
|
|
"@commitlint/cli": "^18.6.1",
|
|
"@commitlint/config-conventional": "^18.6.2",
|
|
"@playwright/test": "^1.54.2",
|
|
"@types/dom-webcodecs": "^0.1.7",
|
|
"@types/jest": "^30.0.0",
|
|
"@types/js-yaml": "^4.0.9",
|
|
"@types/leaflet": "^1.9.8",
|
|
"@types/luxon": "^3.4.2",
|
|
"@types/markdown-it": "^14.1.2",
|
|
"@types/node": "^20.14.11",
|
|
"@types/node-fetch": "^2.6.12",
|
|
"@types/ramda": "^0.29.11",
|
|
"@types/sqlite3": "^3.1.11",
|
|
"@types/three": "^0.155.1",
|
|
"@types/ua-parser-js": "^0.7.39",
|
|
"@typescript-eslint/eslint-plugin": "^6.21.0",
|
|
"@typescript-eslint/parser": "^6.21.0",
|
|
"@vitejs/plugin-vue": "^5.2.1",
|
|
"@vue/eslint-config-typescript": "^11.0.3",
|
|
"autoprefixer": "^10.4.19",
|
|
"better-sqlite3-multiple-ciphers": "^12.1.1",
|
|
"browserify-fs": "^1.0.0",
|
|
"concurrently": "^8.2.2",
|
|
"crypto-browserify": "^3.12.1",
|
|
"electron-json-storage": "^4.6.0",
|
|
"eslint": "^8.57.0",
|
|
"eslint-config-prettier": "^9.1.0",
|
|
"eslint-plugin-prettier": "^5.2.1",
|
|
"eslint-plugin-vue": "^9.32.0",
|
|
"fs-extra": "^11.3.0",
|
|
"husky": "^9.0.11",
|
|
"jest": "^30.0.4",
|
|
"lint-staged": "^15.2.2",
|
|
"markdownlint": "^0.37.4",
|
|
"markdownlint-cli": "^0.44.0",
|
|
"markdownlint-cli2": "^0.18.1",
|
|
"npm-check-updates": "^17.1.13",
|
|
"path-browserify": "^1.0.1",
|
|
"postcss": "^8.4.38",
|
|
"prettier": "^3.2.5",
|
|
"rimraf": "^6.0.1",
|
|
"serve": "^14.2.4",
|
|
"tailwindcss": "^3.4.1",
|
|
"ts-jest": "^29.4.0",
|
|
"tsx": "^4.20.4",
|
|
"typescript": "~5.2.2",
|
|
"vite": "^5.2.0"
|
|
}
|
|
}
|