diff --git a/android/app/capacitor.build.gradle b/android/app/capacitor.build.gradle index de5663b84e..6eafa22a46 100644 --- a/android/app/capacitor.build.gradle +++ b/android/app/capacitor.build.gradle @@ -2,8 +2,8 @@ android { compileOptions { - sourceCompatibility JavaVersion.VERSION_17 - targetCompatibility JavaVersion.VERSION_17 + sourceCompatibility JavaVersion.VERSION_21 + targetCompatibility JavaVersion.VERSION_21 } } diff --git a/android/build.gradle b/android/build.gradle index 632d121927..c6bd5595f2 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -8,8 +8,8 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:8.1.1' - classpath 'com.google.gms:google-services:4.3.15' + classpath 'com.android.tools.build:gradle:8.7.2' + classpath 'com.google.gms:google-services:4.4.2' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/android/gradle/wrapper/gradle-wrapper.jar b/android/gradle/wrapper/gradle-wrapper.jar index 7454180f2a..a4b76b9530 100644 Binary files a/android/gradle/wrapper/gradle-wrapper.jar and b/android/gradle/wrapper/gradle-wrapper.jar differ diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 3796d3cd3c..c1d5e01859 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-all.zip +networkTimeout=10000 +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/android/gradlew b/android/gradlew index 1b6c787337..f5feea6d6b 100755 --- a/android/gradlew +++ b/android/gradlew @@ -15,6 +15,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # +# SPDX-License-Identifier: Apache-2.0 +# ############################################################################## # @@ -55,7 +57,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. @@ -80,13 +82,12 @@ do esac done -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -APP_NAME="Gradle" +# This is normally unused +# shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s +' "$PWD" ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -133,22 +134,29 @@ location of your Java installation." fi else JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." + fi fi # Increase the maximum file descriptors if we can. if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac case $MAX_FD in #( '' | soft) :;; #( *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -193,11 +201,15 @@ if "$cygwin" || "$msys" ; then done fi -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ @@ -205,6 +217,12 @@ set -- \ org.gradle.wrapper.GradleWrapperMain \ "$@" +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + # Use "xargs" to parse quoted args. # # With -n1 it outputs one arg per line, with the quotes and backslashes removed. diff --git a/android/gradlew.bat b/android/gradlew.bat index ac1b06f938..9b42019c79 100644 --- a/android/gradlew.bat +++ b/android/gradlew.bat @@ -13,8 +13,10 @@ @rem See the License for the specific language governing permissions and @rem limitations under the License. @rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem -@if "%DEBUG%" == "" @echo off +@if "%DEBUG%"=="" @echo off @rem ########################################################################## @rem @rem Gradle startup script for Windows @@ -25,7 +27,8 @@ if "%OS%"=="Windows_NT" setlocal set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @@ -40,13 +43,13 @@ if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute +if %ERRORLEVEL% equ 0 goto execute -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail @@ -56,11 +59,11 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe if exist "%JAVA_EXE%" goto execute -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail @@ -75,13 +78,15 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar :end @rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd +if %ERRORLEVEL% equ 0 goto mainEnd :fail rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% :mainEnd if "%OS%"=="Windows_NT" endlocal diff --git a/android/variables.gradle b/android/variables.gradle index df5c0f24d8..b319e0e7d1 100644 --- a/android/variables.gradle +++ b/android/variables.gradle @@ -1,16 +1,16 @@ ext { - minSdkVersion = 22 - compileSdkVersion = 33 - targetSdkVersion = 33 - androidxActivityVersion = '1.7.0' - androidxAppCompatVersion = '1.6.1' + minSdkVersion = 23 + compileSdkVersion = 35 + targetSdkVersion = 35 + androidxActivityVersion = '1.9.2' + androidxAppCompatVersion = '1.7.0' androidxCoordinatorLayoutVersion = '1.2.0' - androidxCoreVersion = '1.10.0' - androidxFragmentVersion = '1.5.6' + androidxCoreVersion = '1.15.0' + androidxFragmentVersion = '1.8.4' junitVersion = '4.13.2' - androidxJunitVersion = '1.1.5' - androidxEspressoCoreVersion = '3.5.1' + androidxJunitVersion = '1.2.1' + androidxEspressoCoreVersion = '3.6.1' cordovaAndroidVersion = '10.1.1' - coreSplashScreenVersion = '1.0.0' - androidxWebkitVersion = '1.6.1' + coreSplashScreenVersion = '1.0.1' + androidxWebkitVersion = '1.12.1' } diff --git a/gulpfile.js b/gulpfile.js index 1ae0c46ab4..ad347250f0 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -161,7 +161,7 @@ const common = { stdio: 'inherit', }) - cp.execSync(`npx cap run ${mode} --external`, { + cp.execSync(`npx cap run ${mode}`, { stdio: 'inherit', env: Object.assign(process.env, { LOGSEQ_APP_SERVER_URL, diff --git a/ios/App/Podfile b/ios/App/Podfile index c931f25369..a9fcddd9aa 100644 --- a/ios/App/Podfile +++ b/ios/App/Podfile @@ -1,6 +1,6 @@ require_relative '../../node_modules/@capacitor/ios/scripts/pods_helpers' -platform :ios, '13.0' +platform :ios, '14.0' use_frameworks! # workaround to avoid Xcode caching of Pods that requires diff --git a/ios/App/Podfile.lock b/ios/App/Podfile.lock new file mode 100644 index 0000000000..b1c5bf28a7 --- /dev/null +++ b/ios/App/Podfile.lock @@ -0,0 +1,131 @@ +PODS: + - AgeEncryption (1.0.6) + - Alamofire (5.6.2) + - AWSCore (2.27.10) + - AWSS3 (2.27.10): + - AWSCore (= 2.27.10) + - Capacitor (7.2.0): + - CapacitorCordova + - CapacitorActionSheet (7.0.1): + - Capacitor + - CapacitorApp (7.0.1): + - Capacitor + - CapacitorCamera (7.0.1): + - Capacitor + - CapacitorClipboard (7.0.1): + - Capacitor + - CapacitorCordova (7.2.0) + - CapacitorFilesystem (7.0.1): + - Capacitor + - CapacitorHaptics (7.0.1): + - Capacitor + - CapacitorKeyboard (7.0.1): + - Capacitor + - CapacitorShare (7.0.1): + - Capacitor + - CapacitorSplashScreen (7.0.1): + - Capacitor + - CapacitorStatusBar (7.0.1): + - Capacitor + - CapacitorVoiceRecorder (5.0.0): + - Capacitor + - CapawesomeCapacitorBackgroundTask (7.0.1): + - Capacitor + - CapgoCapacitorNavigationBar (7.1.2): + - Capacitor + - LogseqCapacitorFileSync (5.0.2): + - AgeEncryption (~> 1.0.6) + - Alamofire + - AWSS3 + - Capacitor + - SendIntent (0.0.1): + - Capacitor + +DEPENDENCIES: + - "Capacitor (from `../../node_modules/@capacitor/ios`)" + - "CapacitorActionSheet (from `../../node_modules/@capacitor/action-sheet`)" + - "CapacitorApp (from `../../node_modules/@capacitor/app`)" + - "CapacitorCamera (from `../../node_modules/@capacitor/camera`)" + - "CapacitorClipboard (from `../../node_modules/@capacitor/clipboard`)" + - "CapacitorCordova (from `../../node_modules/@capacitor/ios`)" + - "CapacitorFilesystem (from `../../node_modules/@capacitor/filesystem`)" + - "CapacitorHaptics (from `../../node_modules/@capacitor/haptics`)" + - "CapacitorKeyboard (from `../../node_modules/@capacitor/keyboard`)" + - "CapacitorShare (from `../../node_modules/@capacitor/share`)" + - "CapacitorSplashScreen (from `../../node_modules/@capacitor/splash-screen`)" + - "CapacitorStatusBar (from `../../node_modules/@capacitor/status-bar`)" + - CapacitorVoiceRecorder (from `../../node_modules/capacitor-voice-recorder`) + - "CapawesomeCapacitorBackgroundTask (from `../../node_modules/@capawesome/capacitor-background-task`)" + - "CapgoCapacitorNavigationBar (from `../../node_modules/@capgo/capacitor-navigation-bar`)" + - "LogseqCapacitorFileSync (from `../../node_modules/@logseq/capacitor-file-sync`)" + - SendIntent (from `../../node_modules/send-intent`) + +SPEC REPOS: + trunk: + - AgeEncryption + - Alamofire + - AWSCore + - AWSS3 + +EXTERNAL SOURCES: + Capacitor: + :path: "../../node_modules/@capacitor/ios" + CapacitorActionSheet: + :path: "../../node_modules/@capacitor/action-sheet" + CapacitorApp: + :path: "../../node_modules/@capacitor/app" + CapacitorCamera: + :path: "../../node_modules/@capacitor/camera" + CapacitorClipboard: + :path: "../../node_modules/@capacitor/clipboard" + CapacitorCordova: + :path: "../../node_modules/@capacitor/ios" + CapacitorFilesystem: + :path: "../../node_modules/@capacitor/filesystem" + CapacitorHaptics: + :path: "../../node_modules/@capacitor/haptics" + CapacitorKeyboard: + :path: "../../node_modules/@capacitor/keyboard" + CapacitorShare: + :path: "../../node_modules/@capacitor/share" + CapacitorSplashScreen: + :path: "../../node_modules/@capacitor/splash-screen" + CapacitorStatusBar: + :path: "../../node_modules/@capacitor/status-bar" + CapacitorVoiceRecorder: + :path: "../../node_modules/capacitor-voice-recorder" + CapawesomeCapacitorBackgroundTask: + :path: "../../node_modules/@capawesome/capacitor-background-task" + CapgoCapacitorNavigationBar: + :path: "../../node_modules/@capgo/capacitor-navigation-bar" + LogseqCapacitorFileSync: + :path: "../../node_modules/@logseq/capacitor-file-sync" + SendIntent: + :path: "../../node_modules/send-intent" + +SPEC CHECKSUMS: + AgeEncryption: 23c203675d5e4883a18b133ab1d5e61ff29e0c18 + Alamofire: d368e1ff8a298e6dde360e35a3e68e6c610e7204 + AWSCore: dbad318b7ff0fd86fb8387d3ad1f30049c05bc58 + AWSS3: 0cf2cedb263368f624ca721e5c56a8cb59fc44bc + Capacitor: 106e7a4205f4618d582b886a975657c61179138d + CapacitorActionSheet: 24609588961cc27c87e8b033be92b5eee65b5d4c + CapacitorApp: d63334c052278caf5d81585d80b21905c6f93f39 + CapacitorCamera: eb8687d8687fed853598ec9460d94bcd5e16babe + CapacitorClipboard: b98aead5dc7ec595547fc2c5d75bacd2ae3338bc + CapacitorCordova: 5967b9ba03915ef1d585469d6e31f31dc49be96f + CapacitorFilesystem: 307f97c27a265edf8396a1c9c235592fd8572fe3 + CapacitorHaptics: 70e47470fa1a6bd6338cd102552e3846b7f9a1b3 + CapacitorKeyboard: 969647d0ca2e5c737d7300088e2517aa832434e2 + CapacitorShare: 58d6c2da63b093e8693287b2d36db92435538435 + CapacitorSplashScreen: 19cd3573e57507e02d6f34597a8c421e00931487 + CapacitorStatusBar: 275cbf2f4dfc00388f519ef80c7ec22edda342c9 + CapacitorVoiceRecorder: 872ea857b497ce2c71afe3e4eb5de0a74290c0db + CapawesomeCapacitorBackgroundTask: 834d797abc9933fac4354490d1a2f3c0e389b98d + CapgoCapacitorNavigationBar: 3a0e93a40b7da3d3cb74c0410bb761a1525406be + LogseqCapacitorFileSync: 541dcd5492b8aeb2257cce3d18bb9ed5800cfcad + SendIntent: 0a17b6984c4f27e9dfa56513267ba2c044a5a6c8 + +PODFILE CHECKSUM: d9e4df9f9578f817a4148a5e29ee928f271e4cc8 + +COCOAPODS: 1.11.2 diff --git a/package.json b/package.json index 061ed18498..d5ac8f8724 100644 --- a/package.json +++ b/package.json @@ -1,196 +1,196 @@ { - "name": "logseq", - "version": "0.0.1", - "private": true, - "main": "static/electron.js", - "devDependencies": { - "@axe-core/playwright": "=4.4.4", - "@capacitor/cli": "^5.0.0", - "@playwright/test": "=1.51.0", - "@tailwindcss/aspect-ratio": "0.4.2", - "@tailwindcss/forms": "0.5.3", - "@tailwindcss/typography": "0.5.7", - "@types/gulp": "^4.0.7", - "autoprefixer": "^10.4.13", - "cross-env": "^7.0.3", - "cssnano": "^5.1.13", - "del": "^6.0.0", - "glob": "9.0.0", - "gulp": "^4.0.2", - "gulp-replace": "^1.1.4", - "gulp-postcss": "^10.0.0", - "ip": "1.1.9", - "semver": "7.5.2", - "karma": "^6.4.4", - "karma-chrome-launcher": "^3.2.0", - "karma-cljs-test": "^0.1.0", - "npm-run-all": "^4.1.5", - "playwright": "=1.51.0", - "postcss": "^8.4.47", - "postcss-cli": "10.0.0", - "postcss-functions": "^4.0.2", - "postcss-import": "15.0.0", - "postcss-import-ext-glob": "2.0.1", - "postcss-nested": "6.0.0", - "purgecss": "4.0.2", - "shadow-cljs": "2.26.0", - "stylelint": "^13.8.0", - "stylelint-config-standard": "^20.0.0", - "tailwindcss": "3.3.5", - "tailwindcss-animate": "^1.0.7", - "typescript": "^4.4.3" - }, - "scripts": { - "watch": "run-p gulp:watch cljs:watch", - "electron-watch": "run-p gulp:watch cljs:electron-watch", - "app-watch": "run-p gulp:watch cljs:app-watch", - "release": "run-s gulp:build cljs:release", - "release-app": "run-s gulp:build cljs:release-app", - "dev-release-app": "run-s gulp:build cljs:dev-release-app", - "dev-electron-app": "gulp electron", - "release-electron": "run-s gulp:build && gulp electronMaker", - "debug-electron": "cd static/ && yarn electron:debug", - "e2e-test": "cross-env DEBUG=pw:api CI=true npx playwright test --reporter github", - "run-android-release": "yarn clean && yarn release-app && rm -rf ./public/static && rm -rf ./static/js/*.map && mv static ./public && npx cap sync android && npx cap run android", - "run-ios-release": "yarn clean && yarn release-app && rm -rf ./public/static && rm -rf ./static/js/*.map && mv static ./public && npx cap sync ios && npx cap run ios", - "clean": "gulp clean", - "test": "run-s cljs:test cljs:run-test", - "report": "run-s cljs:report", - "style:lint": "stylelint \"src/**/*.css\"", - "gulp:watch": "gulp watch", - "gulp:build": "cross-env NODE_ENV=production gulp build", - "css:build": "postcss tailwind.all.css -o static/css/style.css --verbose --env production", - "css:watch": "cross-env TAILWIND_MODE=watch postcss tailwind.all.css -o static/css/style.css --verbose --watch", - "cljs:watch": "clojure -M:cljs watch app electron", - "cljs:watch-storybook": "clojure -M:cljs watch stories-dev", - "cljs:app-watch": "clojure -M:cljs watch app", - "cljs:electron-watch": "clojure -M:cljs watch app electron --config-merge \"{:asset-path \\\"./js\\\"}\"", - "cljs:release": "clojure -M:cljs release app publishing electron", - "cljs:release-electron": "clojure -M:cljs release app electron --debug && clojure -M:cljs release publishing", - "cljs:release-app": "clojure -M:cljs release app", - "cljs:release-publishing": "clojure -M:cljs release publishing", - "cljs:test": "clojure -M:test compile test", - "cljs:run-test": "node static/tests.js", - "cljs:dev-release-app": "clojure -M:cljs release app --config-merge \"{:closure-defines {frontend.config/DEV-RELEASE true}}\"", - "cljs:dev-release-electron": "clojure -M:cljs release app electron --debug --config-merge \"{:closure-defines {frontend.config/DEV-RELEASE true}}\" && clojure -M:cljs release publishing", - "cljs:debug": "clojure -M:cljs release app --debug", - "cljs:report": "clojure -M:cljs run shadow.cljs.build-report app report.html", - "cljs:build-electron": "clojure -A:cljs compile app electron", - "cljs:lint": "clojure -M:clj-kondo --parallel --lint src --cache false", - "ios:dev": "cross-env PLATFORM=ios gulp cap", - "android:dev": "cross-env PLATFORM=android gulp cap", - "tldraw:build": "yarn --cwd packages/tldraw install", - "amplify:build": "yarn --cwd packages/amplify install", - "ui:build": "yarn --cwd packages/ui install", - "postinstall": "yarn tldraw:build && yarn amplify:build && yarn ui:build" - }, - "dependencies": { - "@capacitor/action-sheet": "^5.0.7", - "@capacitor/android": "^5.0.0", - "@capacitor/app": "^5.0.0", - "@capacitor/camera": "^5.0.0", - "@capacitor/clipboard": "^5.0.0", - "@capacitor/core": "^5.0.0", - "@capacitor/filesystem": "^5.0.0", - "@capacitor/haptics": "^5.0.0", - "@capacitor/ios": "^5.0.0", - "@capacitor/keyboard": "^5.0.0", - "@capacitor/share": "^5.0.0", - "@capacitor/splash-screen": "^5.0.0", - "@capacitor/status-bar": "^5.0.0", - "@capawesome/capacitor-background-task": "^5.0.0", - "@capgo/capacitor-navigation-bar": "^6.0.0", - "@dnd-kit/core": "^6.0.8", - "@dnd-kit/sortable": "^7.0.2", - "@emoji-mart/data": "^1.1.2", - "@emoji-mart/react": "^1.1.1", - "@excalidraw/excalidraw": "0.16.1", - "@glidejs/glide": "^3.6.0", - "@highlightjs/cdn-assets": "10.4.1", - "@isomorphic-git/lightning-fs": "^4.6.0", - "@js-joda/core": "3.2.0", - "@js-joda/locale_en-us": "3.1.1", - "@js-joda/timezone": "2.5.0", - "@logseq/capacitor-file-sync": "5.0.2", - "@logseq/diff-merge": "0.2.2", - "@logseq/react-tweet-embed": "1.3.1-1", - "@logseq/sqlite-wasm": "=0.1.0", - "@radix-ui/colors": "^0.1.8", - "@sentry/react": "^6.18.2", - "@sentry/tracing": "^6.18.2", - "@tabler/icons-react": "^2.47.0", - "@tabler/icons-webfont": "^2.47.0", - "@tippyjs/react": "4.2.5", - "bignumber.js": "^9.0.2", - "capacitor-voice-recorder": "^5.0.0", - "check-password-strength": "2.0.7", - "chokidar": "3.5.1", - "chrono-node": "2.2.4", - "codemirror": "5.65.18", - "comlink": "^4.4.1", - "d3-force": "3.0.0", - "diff": "5.0.0", - "dompurify": "2.4.0", - "electron": "35.0.1", - "electron-dl": "^4.0.0", - "emoji-mart": "^5.5.2", - "fs": "0.0.1-security", - "fs-extra": "9.1.0", - "fuse.js": "6.4.6", - "grapheme-splitter": "1.0.4", - "graphology": "0.20.0", - "html2canvas": "^1.4.1", - "ignore": "5.1.8", - "inter-ui": "^3.19.3", - "interactjs": "^1.10.17", - "jszip": "3.8.0", - "katex": "^0.16.10", - "marked": "^5.1.2", - "mldoc": "^1.5.9", - "path": "0.12.7", - "path-complete-extname": "1.0.0", - "pdfjs-dist": "^3.9.179", - "photoswipe": "^5.3.7", - "pixi-graph-fork": "0.2.0", - "pixi.js": "6.2.0", - "posthog-js": "1.10.2", - "prop-types": "^15.7.2", - "react": "17.0.2", - "react-dom": "17.0.2", - "react-grid-layout": "0.16.6", - "react-intersection-observer": "^9.3.5", - "react-resize-context": "3.0.0", - "react-textarea-autosize": "8.3.3", - "react-tippy": "1.4.0", - "react-transition-group": "4.3.0", - "react-virtuoso": "4.12.5", - "remove-accents": "0.4.2", - "reveal.js": "^4.5.0", - "sanitize-filename": "1.6.3", - "send-intent": "^5.0.0", - "shepherd.js": "^9.1.0", - "tailwind-capitalize-first-letter": "^1.0.4", - "threads": "1.6.5", - "url": "^0.11.0", - "yargs-parser": "20.2.4" - }, - "resolutions": { - "pixi-graph-fork/@pixi/app": "6.2.0", - "pixi-graph-fork/@pixi/constants": "6.2.0", - "pixi-graph-fork/@pixi/core": "6.2.0", - "pixi-graph-fork/@pixi/display": "6.2.0", - "pixi-graph-fork/@pixi/graphics": "6.2.0", - "pixi-graph-fork/@pixi/interaction": "6.2.0", - "pixi-graph-fork/@pixi/loaders": "6.2.0", - "pixi-graph-fork/@pixi/ticker": "6.2.0", - "pixi-graph-fork/@pixi/sprite": "6.2.0", - "pixi-graph-fork/@pixi/text": "6.2.0", - "pixi-graph-fork/@pixi/text-bitmap": "6.2.0", - "pixi-graph-fork/@pixi/utils": "6.2.0", - "pixi-graph-fork/@pixi/runner": "6.2.0", - "pixi-graph-fork/@pixi/mesh": "6.2.0", - "pixi-graph-fork/@pixi/settings": "6.2.0", - "pixi-graph-fork/@pixi/mixin-get-child-by-name": "6.2.0", - "pixi-graph-fork/@pixi/math": "6.2.0" - } + "name": "logseq", + "version": "0.0.1", + "private": true, + "main": "static/electron.js", + "devDependencies": { + "@axe-core/playwright": "=4.4.4", + "@capacitor/cli": "^7.0.0", + "@playwright/test": "=1.51.0", + "@tailwindcss/aspect-ratio": "0.4.2", + "@tailwindcss/forms": "0.5.3", + "@tailwindcss/typography": "0.5.7", + "@types/gulp": "^4.0.7", + "autoprefixer": "^10.4.13", + "cross-env": "^7.0.3", + "cssnano": "^5.1.13", + "del": "^6.0.0", + "glob": "9.0.0", + "gulp": "^4.0.2", + "gulp-postcss": "^10.0.0", + "gulp-replace": "^1.1.4", + "ip": "1.1.9", + "karma": "^6.4.4", + "karma-chrome-launcher": "^3.2.0", + "karma-cljs-test": "^0.1.0", + "npm-run-all": "^4.1.5", + "playwright": "=1.51.0", + "postcss": "^8.4.47", + "postcss-cli": "10.0.0", + "postcss-functions": "^4.0.2", + "postcss-import": "15.0.0", + "postcss-import-ext-glob": "2.0.1", + "postcss-nested": "6.0.0", + "purgecss": "4.0.2", + "semver": "7.5.2", + "shadow-cljs": "2.26.0", + "stylelint": "^13.8.0", + "stylelint-config-standard": "^20.0.0", + "tailwindcss": "3.3.5", + "tailwindcss-animate": "^1.0.7", + "typescript": "^4.4.3" + }, + "scripts": { + "watch": "run-p gulp:watch cljs:watch", + "electron-watch": "run-p gulp:watch cljs:electron-watch", + "app-watch": "run-p gulp:watch cljs:app-watch", + "release": "run-s gulp:build cljs:release", + "release-app": "run-s gulp:build cljs:release-app", + "dev-release-app": "run-s gulp:build cljs:dev-release-app", + "dev-electron-app": "gulp electron", + "release-electron": "run-s gulp:build && gulp electronMaker", + "debug-electron": "cd static/ && yarn electron:debug", + "e2e-test": "cross-env DEBUG=pw:api CI=true npx playwright test --reporter github", + "run-android-release": "yarn clean && yarn release-app && rm -rf ./public/static && rm -rf ./static/js/*.map && mv static ./public && npx cap sync android && npx cap run android", + "run-ios-release": "yarn clean && yarn release-app && rm -rf ./public/static && rm -rf ./static/js/*.map && mv static ./public && npx cap sync ios && npx cap run ios", + "clean": "gulp clean", + "test": "run-s cljs:test cljs:run-test", + "report": "run-s cljs:report", + "style:lint": "stylelint \"src/**/*.css\"", + "gulp:watch": "gulp watch", + "gulp:build": "cross-env NODE_ENV=production gulp build", + "css:build": "postcss tailwind.all.css -o static/css/style.css --verbose --env production", + "css:watch": "cross-env TAILWIND_MODE=watch postcss tailwind.all.css -o static/css/style.css --verbose --watch", + "cljs:watch": "clojure -M:cljs watch app electron", + "cljs:watch-storybook": "clojure -M:cljs watch stories-dev", + "cljs:app-watch": "clojure -M:cljs watch app", + "cljs:electron-watch": "clojure -M:cljs watch app electron --config-merge \"{:asset-path \\\"./js\\\"}\"", + "cljs:release": "clojure -M:cljs release app publishing electron", + "cljs:release-electron": "clojure -M:cljs release app electron --debug && clojure -M:cljs release publishing", + "cljs:release-app": "clojure -M:cljs release app", + "cljs:release-publishing": "clojure -M:cljs release publishing", + "cljs:test": "clojure -M:test compile test", + "cljs:run-test": "node static/tests.js", + "cljs:dev-release-app": "clojure -M:cljs release app --config-merge \"{:closure-defines {frontend.config/DEV-RELEASE true}}\"", + "cljs:dev-release-electron": "clojure -M:cljs release app electron --debug --config-merge \"{:closure-defines {frontend.config/DEV-RELEASE true}}\" && clojure -M:cljs release publishing", + "cljs:debug": "clojure -M:cljs release app --debug", + "cljs:report": "clojure -M:cljs run shadow.cljs.build-report app report.html", + "cljs:build-electron": "clojure -A:cljs compile app electron", + "cljs:lint": "clojure -M:clj-kondo --parallel --lint src --cache false", + "ios:dev": "cross-env PLATFORM=ios gulp cap", + "android:dev": "cross-env PLATFORM=android gulp cap", + "tldraw:build": "yarn --cwd packages/tldraw install", + "amplify:build": "yarn --cwd packages/amplify install", + "ui:build": "yarn --cwd packages/ui install", + "postinstall": "yarn tldraw:build && yarn amplify:build && yarn ui:build" + }, + "dependencies": { + "@capacitor/action-sheet": "^7.0.0", + "@capacitor/android": "^7.0.0", + "@capacitor/app": "^7.0.0", + "@capacitor/camera": "^7.0.0", + "@capacitor/clipboard": "^7.0.0", + "@capacitor/core": "^7.0.0", + "@capacitor/filesystem": "^7.0.0", + "@capacitor/haptics": "^7.0.0", + "@capacitor/ios": "^7.0.0", + "@capacitor/keyboard": "^7.0.0", + "@capacitor/share": "^7.0.0", + "@capacitor/splash-screen": "^7.0.0", + "@capacitor/status-bar": "^7.0.0", + "@capawesome/capacitor-background-task": "7.0.1", + "@capgo/capacitor-navigation-bar": "7.1.2", + "@dnd-kit/core": "^6.0.8", + "@dnd-kit/sortable": "^7.0.2", + "@emoji-mart/data": "^1.1.2", + "@emoji-mart/react": "^1.1.1", + "@excalidraw/excalidraw": "0.16.1", + "@glidejs/glide": "^3.6.0", + "@highlightjs/cdn-assets": "10.4.1", + "@isomorphic-git/lightning-fs": "^4.6.0", + "@js-joda/core": "3.2.0", + "@js-joda/locale_en-us": "3.1.1", + "@js-joda/timezone": "2.5.0", + "@logseq/capacitor-file-sync": "5.0.2", + "@logseq/diff-merge": "0.2.2", + "@logseq/react-tweet-embed": "1.3.1-1", + "@logseq/sqlite-wasm": "=0.1.0", + "@radix-ui/colors": "^0.1.8", + "@sentry/react": "^6.18.2", + "@sentry/tracing": "^6.18.2", + "@tabler/icons-react": "^2.47.0", + "@tabler/icons-webfont": "^2.47.0", + "@tippyjs/react": "4.2.5", + "bignumber.js": "^9.0.2", + "capacitor-voice-recorder": "^5.0.0", + "check-password-strength": "2.0.7", + "chokidar": "3.5.1", + "chrono-node": "2.2.4", + "codemirror": "5.65.18", + "comlink": "^4.4.1", + "d3-force": "3.0.0", + "diff": "5.0.0", + "dompurify": "2.4.0", + "electron": "35.0.1", + "electron-dl": "^4.0.0", + "emoji-mart": "^5.5.2", + "fs": "0.0.1-security", + "fs-extra": "9.1.0", + "fuse.js": "6.4.6", + "grapheme-splitter": "1.0.4", + "graphology": "0.20.0", + "html2canvas": "^1.4.1", + "ignore": "5.1.8", + "inter-ui": "^3.19.3", + "interactjs": "^1.10.17", + "jszip": "3.8.0", + "katex": "^0.16.10", + "marked": "^5.1.2", + "mldoc": "^1.5.9", + "path": "0.12.7", + "path-complete-extname": "1.0.0", + "pdfjs-dist": "^3.9.179", + "photoswipe": "^5.3.7", + "pixi-graph-fork": "0.2.0", + "pixi.js": "6.2.0", + "posthog-js": "1.10.2", + "prop-types": "^15.7.2", + "react": "17.0.2", + "react-dom": "17.0.2", + "react-grid-layout": "0.16.6", + "react-intersection-observer": "^9.3.5", + "react-resize-context": "3.0.0", + "react-textarea-autosize": "8.3.3", + "react-tippy": "1.4.0", + "react-transition-group": "4.3.0", + "react-virtuoso": "4.12.5", + "remove-accents": "0.4.2", + "reveal.js": "^4.5.0", + "sanitize-filename": "1.6.3", + "send-intent": "^5.0.0", + "shepherd.js": "^9.1.0", + "tailwind-capitalize-first-letter": "^1.0.4", + "threads": "1.6.5", + "url": "^0.11.0", + "yargs-parser": "20.2.4" + }, + "resolutions": { + "pixi-graph-fork/@pixi/app": "6.2.0", + "pixi-graph-fork/@pixi/constants": "6.2.0", + "pixi-graph-fork/@pixi/core": "6.2.0", + "pixi-graph-fork/@pixi/display": "6.2.0", + "pixi-graph-fork/@pixi/graphics": "6.2.0", + "pixi-graph-fork/@pixi/interaction": "6.2.0", + "pixi-graph-fork/@pixi/loaders": "6.2.0", + "pixi-graph-fork/@pixi/ticker": "6.2.0", + "pixi-graph-fork/@pixi/sprite": "6.2.0", + "pixi-graph-fork/@pixi/text": "6.2.0", + "pixi-graph-fork/@pixi/text-bitmap": "6.2.0", + "pixi-graph-fork/@pixi/utils": "6.2.0", + "pixi-graph-fork/@pixi/runner": "6.2.0", + "pixi-graph-fork/@pixi/mesh": "6.2.0", + "pixi-graph-fork/@pixi/settings": "6.2.0", + "pixi-graph-fork/@pixi/mixin-get-child-by-name": "6.2.0", + "pixi-graph-fork/@pixi/math": "6.2.0" + } }